【電子工作】WiringPiでGPIOを操作してLEDを光らせる(Raspberry Pi 4で遊ぼう日記 その6)

投稿日:2022年4月28日
最終更新日:2022年4月28日

WiringPiでGPIOを制御する

前回はsysfsを使ってラズパイのGPIOを操作し、LEDを光らせた。今回は、ライブラリを使ってもう少しお手軽にLEDを光らせてみる。ライブラリはいくつかあるが、今回はWiringPiというライブラリをインストールして使ってみる。

最終的にはPythonのプログラムで自動的に点滅させるつもりだが、今回はCLIから手打ちで光らせてみる。

※このブログを書いたあとに知ったのだが、WiringPiは2019年で作者による開発が停止されている。今後は違うライブラリを使うかもしれない

回路は前回同様、以下のセットを使ってブレッドボード上につくる。

 

実行環境

Raspberry Pi 4 Model B

Raspberry Pi OS (Bullseye)

WiringPi 2.52

 

WiringPiを最新版にupdateする

WiringPiは最近のRspberry Pi OSだとapt-getしても最新版はインストールできないらしい。ということで、WiringPiの公式ページの内容に従い、WiringPiの最新版をインストールする。

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

あとは以下を実行してWiringPiのversionを確認し、2022年4月現在の最新バージョンである2.52になっていればOK。

gpio -v

これで事前準備は完了。

ブレッドボードに回路をつくる

こちらは前回と同じで、LEDと抵抗をラズベリーパイの35pin(GPIO 19)と39pin(GND)に接続した。抵抗値は330Ω。

WiringPiでGPIOの出力を制御する

準備は完了したので、GPIOの出力を制御してLEDを光らせる。CUIから以下を打つと、ラズパイのGPIOを一覽で見ることができる。

gpio readall

実行してみると以下のように表示される。

Nameの列に書かれているのがラズパイ基板上のピン名で、Physicalの列に書かれているのが基板上のピン番号を表している。ただし、NameはRaspberry Piの公式サイトに載っているRaspberry Pi OSのピンアサインとは異なっているので注意。

GPIOを操作するときはピンを指定してIN/OUTを切り替えたり、HIGH/LOWを切り替えたりするが、ピン指定はBCMと書かれた列の番号(ラズパイのSoCのピン番号)か、wPiと書かれた列の番号で指定する。

まずはwPiの番号で指定して光らせてみる。GPIO19はwPiの番号では24なので、24から電圧を出力するようにmodeで24をoutに設定する。

gpio mode 24 out

そして、writeで値を1に書いてやれば、電圧がHIGHになってLEDが光る。

gpio write 24 1

これでLEDが光った。

なお、消すときは0を書いてやれば良い。

gpio write 24 0

ちなみに、BCMの番号でpinを指定するときは-gをつけて指定する。

例えば、以下のコマンドでも先程と同じようにGPIO24に接続したLEDを光らせることができる。

gpio -g write 19 1

今回はCLIでLEDを消したが、やはりちゃんとチカチカと点滅させてこそLチカかなと。ということで、次回はPythonでコードを書いて、LEDを点滅させてみる。

 

日記まとめ

ラズパイで遊んでみた軌跡を以下でまとめてます。

【電子工作】Raspberry Piで遊ぼう日記 まとめ

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください