GoogleAIYVoiceKitV2でGPIOを使う。
GoogleAIYVoiceKitV2でVoiceBonnet上のGPIOを使いたいと思い、色々調べましたのでまとめておきます。
もくじ(Index)ラズパイ関連の目次へ戻る(工事中)
動作環境
2018/11/7時点での環境で検証しています。
OSはAIY Kits Release 2018-08-03です。
※Updateすると環境が変わる可能性があるので注意しましょう。また、古いバージョンとはフォルダ構成が変わっています。
VoiceBonnetのGPIOピンヘッダ
GoogleAIYVoiceKitV2に入っているVoiceBonnetには6本のGPIOピンヘッダが用意されています。(写真の赤い枠の部分)
GoogleAIYVoiceKitV2よりも使えるGPIOは減っているのですが、外部からもアクセスしやすいように改良されています。
ピンヘッダは外側から見て右から
・VCC(5V)
・PIN_A
・PIN_B
・PIN_C
・PIN_D
・GND
という順番で並んでいます。
GPIOを使ってみる【Lチカ】
用意するもの
①ブレッドボード
②ジャンパーワイヤー
③LED 5個
④330Ωの抵抗 5個
私は下記の初心者向け学習キットのものを利用しました。
配線
LEDと抵抗を接続します。配線は下記の図のように行いました。
※一番右のLEDは電源確認用です。
サンプルを動かす。
ソースは~/AIY-projects-python/src/examples/gpiozero/led_chaser.pyです。
実行してから5秒後ぐらいに、A→B→C→D→A…と繰り返し点滅していきます。実際に動作させたところは下記のようになります。
その他のサンプルについて
src/examples/gpiozero/には他にもサンプルプログラムがあります。
src/examples/gpiozero/led_example.py
VoiceBonnet上の緑のLEDが点滅します。
src/examples/gpiozero/bonnet_button.py
PIN_Dにスイッチを繋いで、それを押している間VoiceBonnet上の緑のLEDが点滅します。
src/examples/gpiozero/button_example.py
src/examples/gpiozero/simple_button_example.py
アーケードボタンかVoiceBonnet上のタクトスイッチを押すと緑のLED(LED_1)が点灯します。両方とも同じ機能です。
src/examples/gpiozero/servo_example.py
PIN_AとPIN_Bに接続したサーボモーターを制御するサンプルです。(サーボモーターは持っていないので動作検証はしていません。)
まとめ
今回の記事ではVoiceBonnet上にある6本のGPIOピンヘッダについて解説しました。
ただ、このGPIOはGoogleのライブラリを読み込むため起動時に5秒程度時間がかかってしまいます。Maker’s GuideのHARDWARE EXTENSIONSに図(Figure 1. GPIO pins used by the Voice Bonnet(highlighted pins are used))があります。VoiceBonnetで使われていない端子は基板から直接取り出せば使用できるようですので別記事で試してみます。
GoogleAIYVoiceKitV2を活用していきましょう!