この文書では,scratchGPIOを使ったモータの制御について説明しています.モータはロボットの駆動部になっており,目指すところはロボットの遠隔操作です.
1:環境
使用しているハードウェア環境およびソフトウェア環境を下の箇条書きで示します.
- ハードウェア : Raspberry Pi 3 type B
- OS : Raspbian Jessie with PIXEL version April 2017
- scratch : 1.4
- scratchGPIO : 8
- モータドライバ : DRV8832DGQR
2:Raspberry Piとモータドライバの接続
モータドライバにはRaspberry Piとは別に単三電池3本(およそ4.5[V])で電源を供給しています.そして,グランドを共通にし,下記のようにモータドライバのIN1およびIN2をRaspberryPiに接続しています.このロボットには独立したモータが2個あるため,モータドライバも2個となっております.便宜上,右側モータのIN1およびIN2と,左側モータのIN1およびIN2と呼びます.
RaspberryPiのピン番号 | 接続先 |
12 | 右側モータのIN1 |
11 | 右側モータのIN2 |
8 | 左側モータのIN1 |
10 | 左側モータのIN2 |
上記以外のモータドライバの端子は下表のように接続してあります.
端子 | 状態 |
VSET | High |
ISENSE | Low |
OUT1 | モータ |
OUT2 | モータ |
VREF | 未接続 |
FAULT | 未接続 |
!!注意!!
接続するうえで注意しなければいけないことは,モータ(OUT1とOUT2)の間に必ず0.001[uF]程度のコンデンサ,モータドライバのVCCおよびGND付近に0.1[uF]程度のコンデンサ,さらに単三電池3本(4.5[V])を接続したブレッドボードの付近に100[uF]程度のコンデンサを入れなければなりません.そうしないとモータドライバがロック状態になって正しく動作しません.
3:scratchGPIOのスクリプト
scratchGPIOに書いたスクリプトには,sキー,上矢印キー,下矢印キー,左矢印キー,右矢印キーの5個のトリガがあります.それぞれには次のような「を送る」が書かれています.
pin11 | pin12 | pin8 | pin10 | |
sキー | off | off | off | off |
上矢印キー | off | on | off | on |
下矢印キー | on | off | on | off |
左矢印キー | off | on | on | off |
右矢印キー | on | off | off | on |
4:動作の様子
動作の様子を動画で示します.この中では,scratchGPIOに書かれたスクリプトのとおり,ロボットが動作している様子を見て取れます.