GPIOポートからLED制御
Raspberry pi のGPIOポートは
値が0なら 0V
値が1なら 3.3V
の電圧が出力される
値が1のときにLEDが光るようにすれば
GPIOポートの信号が正しく出力されているかわかる
今回も270Ωの抵抗とLEDを使用
今回は
GPIO 04 を+
GND をーにする
ジャンパケーブルをさすのは
+が左上から4番め
ーは前回と同じく右から3番め
これで配線準備は完了
電源をいれても、今回は最初からLEDは点灯しない
次に、コマンドからLEDを制御する
現在動かしているOS Raspbianは
/sys/class/gpio/
の中にある仮想ファイルにアクセスすることで
GPIOポートを制御できる
GPIOポートを使う手順は
使用開始を宣言
入出力設定
値の入出力
使用終了の宣言
となる
これにアクセスするには root 権限を得るか
pi ユーザが gpioグループに所属していることが条件
id -Gn pi
で所属しているグループをみることができる
pi adm dialout cdrom sudo audio video plugdev games users netdev input spi gpio
というように結果の中に gpio があればOK
これが確認できたら、操作開始
まずはGPIOの使用するポートを宣言
今回はGPIO 04 を使うので
echo 4 > /sys/class/gpio/export
構文は
echo ポート番号 /sys/class/gpio/export
となる
これを実行すると
/sys/class/gpio/
の下に gpio4 という仮想ディレクトリができる
GPIO 04 の制御はここで行うことになる
次に、出力方向の指定
今回は信号を出力してLEDを光らせたいので
out を使う
出力方向の設定は
echo out > /sys/class/gpio/gpio4/direction
構文は
echo out > /sys/class/gpio/使用するGPIOポート番号/direction
[/shell]
ここまででGPIO 04 の制御の準備ができたので
/sys/class/gpio/使用するGPIOポート番号/value
に値を書き込むと操作できる
点灯なら1
消灯なら0
今回は点灯なので
echo 1 > /sys/class/gpio/gpio4/value
で点灯する
消したいのなら
echo 0 > /sys/class/gpio/gpio4/value
とりあえずこれで操作は終了となるので
使用収量を宣言する必要がある
使用終了は
echo 4 > /sys/class/gpio/unexport
というように
echo 終わりたいポート > /sys/class/gpio/unexport
とする