GPIOポートからLED制御

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
とする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です