【電子工作】pigpio + PythonでLチカしてみる(Raspberry Pi 4で遊ぼう日記 その10)

投稿日:2022年5月9日
最終更新日:2022年5月13日

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言語でやってみる。

 

日記まとめ

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

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

 


投稿者: wakky

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

コメントを残す

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

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