pigpioとPythonでGPIOを制御してLEDを点滅させる
以前、WiringPiのPythonパッケージをインストールしてLEDを点滅させてみたが、WiringPiは公式の更新が停まっていることもあり、今後のことも考えて他のライブラリも使ってみたい。ということで、今回はpigpioというライブラリを使って、PythonのコードでLEDを点滅させてみる。
pigpioはWiringPiと同様にC言語、Pythonの両方で使用できるし、細かいハードウェアの制御もできるようなのでなかなか評判が良いようだ。ちなみに次回の日記で、C言語のコードでもLチカをやってみるつもり。
回路は前回同様、以下のセットを使ってブレッドボード上につくる。
実行環境
Raspberry Pi 4 Model B
Raspberry Pi OS (Bullseye)
pigpio 1.79-1+rpt1
Python 3.9.2
ブレッドボードに回路をつくる
毎度おなじみの回路。LEDと抵抗をラズベリーパイの35pin(GPIO 19)と39pin(GND)に接続した。抵抗値は330Ω。
pigpiodを起動する
pigpioは最近のRaspberry Pi OSをインストールしていれば、最初からインストールされている。私の環境でもpigpio 1.79-1+rpt1がインストールされていた。Pythonパッケージでpigpioを使う時は、pigpiodというデーモンを以下のコマンドで起動してやる必要がある。
sudo pigpiod
Python3のコードを書く
以前書いたWiringPiのコードをベースに、以下のpigpioのPython Interfaceのページをみながらコードを書いた。
https://abyz.me.uk/rpi/pigpio/python.html
作成したコードがこちら↓
#!/usr/bin/env python3 import pigpio import time led_gpio = 19 gpio = pigpio.pi() gpio.set_mode(led_gpio, pigpio.OUTPUT) while True: gpio.write(led_gpio, 1) time.sleep(0.5) gpio.write(led_gpio, 0) time.sleep(0.5)
0.5秒ごとにGPIO19をON/OFFして点滅させている。
あとはコードをpigpio_led.pyという名前で保存し、保存したソースファイルが置いてあるディレクトリで以下を実行。
sudo python pigpio_led.py
これで無事にLチカを実行できた。次回は同じ動作をC言語でやってみる。
日記まとめ
ラズパイで遊んでみた軌跡を以下でまとめてます。