この文書では,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に書かれたスクリプトのとおり,ロボットが動作している様子を見て取れます.