【参考HP】
1.RaspbrryPiのGPIO制御の基本
2.RaspbrryPiのGPIO制御ライブラリ
3.RaspbrryPiのGPIO基本制御からPWM制御まで
【 取組紹介 】
上記HPを参考にしながら手持ちのRaspbrryPiを使いながら基本GPIO操作を行っていき最終PWM制御を使って
サーボモーターを2個動かしてみます。
先ずは、GPIOライブラリを使わない方法から操作していきます。(echoコマンド、gpioコマンド 操作は、
PC上から遠隔操作とします。
< echo コマンド使用準備 >
Raspbian では echo コマンドを使用して GPIO の ON / OFF 制御ができますが、事前準備が必要です。
まず、/sys/class/gpio/ ディレクトリの中身を見てみます。

これから /sys/class/gpio/gpio2/にある value を操作したいのにファイルがありません。
それは、gpio2 ピンの機能設定をしていないためです。
それを行うための手順が以下の通りです。

上記最後に書かれている「使い終わったよ」宣言をしないで電源をOFFすると初期状態にリセットされます。
まず現在 RaspbrryPi の GPIO がどの様になっているかモニターしてみましょう。
gpio readall

GPIO2~GPIO27 すべてのピンがディジタル・入力モードになっています。(アナログ入出力はない)
① GPIOピンを使う宣言をする。
echo 2 > /sys/class/gpio/export
これだけでは何の反応もないので確認してみます。
ls /sys/class/gpio/

gpio2 が出来ています。( GPIO2 ピンを使う宣言が出来ています。)
ついでに gpio2 デレクトリの中身も確認しておきます。

② 入力 か 出力 かを指定します。
gpio2/direction ファイルに入力か出力かを書込みます。
出力ピンとして設定の場合
echo out > /sys/class/gpio/gpio2/direction
入力ピンとして設定の場合
echo in > /sys/class/gpio/gpio2/direction
③ GPIOを制御する。
/sys/class/gpio/gpio2/value ファイルに「1」か「0」を書込めば出力制御ができます。
出力ピンを HIGH にする場合
echo 1 > /sys/class/gpio/gpio2/value
出力ピンを LOW にする場合
echo 0 > /sys/class/gpio/gpio2/value
④ 使い終わった場合、終了宣言をします。
echo 2 > /sys/class/gpio/unexport
という手順になります。
< gpio コマンドによる入出力ピンの制御方法>
先ほどの echo コマンドによる制御はファイルシステムを通じてGPIOを制御していましたが、コマンド制御できる
「WiringPi」というライブラリがあります。
今回のようなリモート接続タイプの場合のみ、以下の手順で「WiringPi」をインストールします。
cd temp に移動してインストールするが下記の様にインストールできない。
「l:Lの小文字」、「I:iの大文字」でも同じ
Webブラウザから正常にダウンロードできるのでURLは正しい。

正常にダウンロードできているファイルをデスクトップに置き例の「FileZilla」の出番です。
PCのデスクトップに置いたファイルをRaspbrryPi の temp デレクトリへコピー(アップデート)させる。

ダウンロードした「WiringPi」
ダウンロードフォルダーからデスクトップに移動(特に移動の必要なし)
「FileZilla」により PC から RaspbrryPi の temp フォルダーへアップロード

正常に移動が成功しているか確認
間違いなく、「temp」フォルダーに「WiringPi」ファイルがコピーされている。

ダウンロードした「WiringPi」ファイルをインストールします。
sudo dpkg -i wiringpi-2.50-1.deb

インストールが完了したら、自分のディレクトリに戻っておきます。
cd ..
これでリモート接続タイプ機器構成の場合の準備ができました。
早速RaspbrryPi のGPIOを制御するのですが、GPIOの指定方法に3種類あります。
下記の通りです。

このページで使用した gpio readall で表示されたもので説明すると、中央に表示されている「Physical」は物理
ピン番号、「wPi」は WiringPi 番号、「BCM]は GPIO 番号になります。
我々は今後「BCM」番号を使っていきます。<gpio コマンドに、-g オプションを付けて使用>
gpio コマンドを使用してGPIO の出力制御するための gpio の使い方は以下の通りです。

実際に使ったコマンドです。GPIO 2 を出力モードにします。
次に GPIO 2番ピンをON(1)にします。<GPIO2のLEDが点灯しました。>

GPIO2以外のLEDも点灯させてみます。
ここまでは、事前準備でした。
実際の電子工作での操作&画像処理等の紹介ページは、RaspbrryPi電子工作です。