Voice Kit とサーボモーター その1
スポンサーリンク
最終的な目標は音声でVoice Kit につないだカメラの首振りなどの制御。
まずは下準備としてラズパイからサーボをコントロールする。

やりたいこと
- Voice HAT (Voice Kitの拡張ボード)のカメラマウント用のサーボモーターをつなぐ
- Pythonからサーボモーターの制御
用意するもの
- ラズパイ本体(Raspberry Pi model 3B)
- microSD
- Google AIY Voice Kit
- サーボモーター制御のカメラマウント

【国内代理店版】Google AIY Voice Kit & Raspberry Pi 3 入門セット - 日本語「組み立てガイド」付属
- 出版社/メーカー: ケイエスワイ
- メディア: エレクトロニクス
- この商品を含むブログを見る

SG90サーボ用 2軸 カメラマウント 2軸アングル FPV 空撮にも (マウント+2個SG90)
- 出版社/メーカー: サンクスワールド
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る
※ マーケットプレイス注意
なお、Voice Kit付属のプラスチックスペーサーは取り外しが不便なので下記で代用しています。

サンハヤト Raspberry Pi用スペーサー 黄銅製 MPS-M2611
- 出版社/メーカー: サンハヤト
- メディア: Tools & Hardware
- この商品を含むブログを見る
ピンヘッダの取り付け
Voice HAT accessory board(Voice Kit付属のメイン拡張基盤)にはサーボモーターやDCモーター、ステレオスピーカー化するためのはんだ付け用のパターンが用意されています。逆いうと自分でピンヘッダなり必要な端子をはんだ付けする必要があるということ……。
今回はサーボモーターを2個つなげることができれば良いので、3ピンのピンヘッダを2つ取り付けることにします。

電子部品ショップにレッツゴーするか秋葉原詣でに行くか、あるいは通販でピンヘッダを入手します。
寺町通のマルツに行って確保してきました*1。10個入りで21円(税抜き)。交通費に比較してなんと微妙な価格でしょう……。


配線


取り付けたピンヘッダにつなぐ。オレンジ色の線が制御信号で、Voice Hat の端側に来るように接続する。
内部でどのGPIOピンにつながっているかは付属の冊子の最後の方の配線図で判断できる。
動作テスト
Voice Kit付属の小冊子に記載されているコードをちょっとだけ改造。
from gpiozero import Servo
from time import sleep
servo_0 = Servo(26)
servo_1 = Servo(6)
#servo_1.mid()
servo_1.max()
while True:
servo_0.min()
servo_1.max()
sleep(1)
servo_0.mid()
servo_1.mid()
sleep(1)
servo_0.max()
servo_1.min()
sleep(1)
servo_0.mid()
servo_1.mid()
sleep(1)
Servo()関数に、サーボモーターの信号線のつながっているGPIO番号を指定する。
一番上側がGPIO 26、その下がGPIO 06。
停止させるときはCtrl-C。
動作の様子
gif にしたらファイルサイズがちょっと残念な感じだったので省略。ちゃんと動きました。
まとめ
次はカメラマウントにセットして、任意の角度で可動させたい。
流石にそろそろ出発準備しないとまずいのでどこまでいけるかちょっと微妙だけど。
*1:Pi Zero Wと一緒に……