【 第27回 】では、”WiringPi2″を使って「LED不要のLチカ!」のプログラムを実行しましたが、今回は”pigpio ( ぴぐぴお ? )”を使って同じことをやってみたいと思います。”pigpio”もいくつかあるGPIO制御ライブラリのひとつですが、ライブラリによって実行手順やプログラムの書式に違いがあるところを注目してください。
"pigpio"のインストール状況を確認する
タスクバー左端のメニューアイコンから「設定」→「Add / Remove Software」をクリックし、起動します。画面左上の検索枠に”pigpio”と入力して「Enter」キーを押すと、しばらくして右ペインに検索結果が表示されます。
検索結果を見ると、C言語で書かれた”pigpio”本体の他にPython 2やPython 3で”pigpio”を実行する為のデーモンまで、既にプリインストールされていることが分かります。
GPIO25の出力で基板上のLED(緑)を制御できるように設定する
あらかじめ、基板上のLED(緑)の入力を”mmc0(ディスクアクセス)”からGPIO25の出力に切替えておきます。
Visual Studio Codeを起動し、【 第28回 】で作ったプログラム”blink10.py”を開きます。
開いたターミナル画面で、一旦、ホームディレクトリに移動します。
cd
rootユーザーに切り替えておきます。
sudo su
「↑」キーを何回か押して、このコマンドを表示し、「led0(緑)」の設定を”mmc0(ディスクアクセス)”から”gpio”に切り替えます。。
echo gpio > /sys/class/leds/led0/trigger
基板上のLED(緑)が、ディスクアクセスがあっても点灯しなくなりました。
「↑」キーを押すと、直前のコマンドが入力されるので、”gpio”を”25″に、”trigger”を”gpio”に上書きして、「Enter」キーを押します。
echo 25 > /sys/class/leds/led0/gpio
これでGPIO25の出力が「led0(緑)」に接続されます。
“exit”でスーパーユーザー権限から外れます。
exit
"pigpio"を使ってLチカのプログラムを作る
【 ワークスペースの設定 】で設定したワークスペース”/home/pi/Python”が開くので、「名前」の入力欄に新しいプログラム名を入力して「保存」ボタンをクリックします。
エディター画面のプログラムの1行目”wiringpi”を削除して”pi”と入力すると、入力候補がリストアップされるので、”pigpio”を選択します。
import pigpio
同様に、プログラムの書式の異なるところだけをGPIO制御ライブラリ”pigpio”に合わせて上書きします。
プログラム自体は、while文によりLED(緑)が1秒ずつ点滅するのを10回繰り返し、初期化して終わるという【 第27回 】と同じものです。
import pigpio import time pig = pigpio.pi() pig.set_mode(25, pigpio.OUTPUT) counter = 0 while (counter < 10): pig.write(25, 1) time.sleep(1) pig.write(25, 0) time.sleep(1) counter = counter + 1 pig.set_mode(25, pigpio.INPUT)