Raspberry Pi 3B+ にやっとハードウェアを接続してみます。
間が空いたけど、まず手始めにまずは L チカから。間が空いた原因がブレッドボードの在庫が見つからなかったせいで、2 回アキバに行ってたからなんて言えない
目次
gpio4 を使用して LED をチカチカさせます。
配線
回路図は配線は以下の通り、
わかりやすい写真が取れなかったので、
文字に起こすと以下のようになる。
[gpio4]-[抵抗 10Ω]-[LED]-[GND]
(配線図を描くツールなどは調べてみたい。)
物理的な作業はここまで。
次からはもう実行
shell コマンドで実行
ラズパイにログインして、
以下のコマンドを順に実行する。
gpio4 を使用する宣言をする。
1
echo 4 > /sys/class/gpio/export
gpio4 を出力に使用することを宣言する。
1
echo out > /sys/class/gpio/gpio4/direction
gpio4 に 0 を送る=> LED は消える
1
echo 0 > /sys/class/gpio/gpio4/value
gpio4 に 1 を送る=> LED は消える
1
echo 1 > /sys/class/gpio/gpio4/value
gpio4 を開放する
1
echo 4 > /sys/class/gpio/unexport
1 と 2,5 は必須です。
3 と 4 のコマンドで、LED の点灯消灯ができます。
shell スクリプトでループ実行
Lchika という名前で以下を保存します。
1 | ! /bin/bash |
sudo sh lchika
のコマンドで実行します。
停止はctrl + c
で行います。
1 秒間隔で、明滅するようになったと思います。
二回目実行すると、echo: I/O error
という内容でエラーが出ます。ctrl + c
で止めていて、echo 4 > /sys/class/gpio/unexport
を実行していないのが原因のようです。
確かにecho 4 > /sys/class/gpio/export
をecho 4 > /sys/class/gpio/unexport
を実行しないで、
2 回実行すると、-bash: echo: 書き込みエラー: デバイスもしくはリソースがビジー状態です
今回はこの件はあまり詰めないです。
感想とか
とりあえず、L チカができました。
今回のecho 4 > /sys/class/gpio/export
のコマンドは、仮想ファイルの使用を宣言するという操作になるそうです。
仮想ファイルに関して少し調べたら、物理ピンの 0/1 をファイルアクセスのように取得・設定できる機能ということで理解しました。
確かにファイルに書き込むようにecho 0 > /sys/class/gpio/gpio4/value
で
on/off を設定することができています。
今のところ挫折していない。良い。
次回
次は、サーボモーターを動かすか、
Raspberry Pi + node.js でメールを送ってみたいと思います。
ではでは