この記事をシェアしよう!

【 第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”を開きます。

メニューバーから「表示」→「統合ターミナル」をクリックします。

開いたターミナル画面で、一旦、ホームディレクトリに移動します。

rootユーザーに切り替えておきます。

「↑」キーを何回か押して、このコマンドを表示し、「led0(緑)」の設定を”mmc0(ディスクアクセス)”から”gpio”に切り替えます。。

基板上のLED(緑)が、ディスクアクセスがあっても点灯しなくなりました。

「↑」キーを押すと、直前のコマンドが入力されるので、”gpio”を”25″に、”trigger”を”gpio”に上書きして、「Enter」キーを押します。

これでGPIO25の出力が「led0(緑)」に接続されます。

“exit”でスーパーユーザー権限から外れます。

pigpioを使ってLチカのプログラムを作る

メニューバーから「ファイル」→「名前を付けて保存」をクリックします。

【 ワークスペースの設定 】で設定したワークスペース”/home/pi/Python”が開くので、「名前」の入力欄に新しいプログラム名を入力して「保存」ボタンをクリックします。

エディター画面のプログラムの1行目”wiringpi”を削除して”pi”と入力すると、入力候補がリストアップされるので、”pigpio”を選択します。

同様に、プログラムの書式の異なるところだけをGPIO制御ライブラリ”pigpio”に合わせて上書きします。

プログラム自体は、while文によりLED(緑)が1秒ずつ点滅するのを10回繰り返し、初期化して終わるという【 第27回 】と同じものです。

プログラムができたら、アクティビティーバーの「デバッグ」アイコンをクリックします。

サイドバーに現れたデバッグ右の「▶」ボタンをクリックします。

1行目でデバッグが中断するので、画面上部デバッグ用ツールバーの「▶」ボタンをクリックして続行します。

デバッグが終わったら、統合ターミナル画面のタブ「問題」をクリックします。

いつものように、ご指摘が5項目ほどあるようですがエラーではないようなので、エディター画面の何もないところで右クリック→「Run Python File in Terminal」をクリックして実行します。

エラーはないのに「ローカルホストに接続できません」とのお達し。その下には「pigpio daemonをスタートさせたんかい?」とありました。

どうやら”pigpio”をインポートするには、事前にデーモン“pigpiod”を起動しておく必要があるみたいです。ご指導通り、”pigpiod”を起動しておきます。

「↑」キーを押すと、直前のコマンドが入力されるので、もう一度、プログラムを実行します。

今度は無事に、LED(緑)が点滅を10回繰り返しました。

メニューバーから「ファイル」→「保存」をクリックして上書き保存しておきます。

led0(緑)の設定を既定のmmc0(ディスクアクセス)に戻しておく

ホームディレクトリに戻ります。

GPIOの設定状況を確認します。

GPIO25の設定は、お行儀よく”IN”に戻っていました。

このまま、ACT(緑)がディスクアクセスで点灯しないとRaspberry Piの電源を落とすタイミングが分からなくて困るので、ACT(led0)の設定を元に戻しておきます。

再び、rootユーザーに切り替えます。

「」キーを何回か押すと以前入力したコマンドが表示されるので、”gpio”を”mmc0″に上書きして「Enter」キーを押します。

これで「ACT(led0)」の設定が”gpio””からmmc0(ディスクアクセス)”に戻ります。

基板上のLED(緑)が、再びディスクアクセスで点灯するようになりました。

“exit”でスーパーユーザー権限から外れます。

この記事をシェアしよう!