ネットで見かけたおもしろそうなロボット「RoverC 6,599円」をIchigoJam BASICで制御してみました。
いい動きします!
「RoverC」公式サイトを見るとアドレス#38を使ったI2C制御、IchigoJamでもいけそうです。 動かし方はC++のプログラムに載っている通り、4つのモーターの前後を-127から127で正逆回転方向を指定するだけとシンプル!
RoverCとIchigoJam、右から順につぎのように5本のソケットプラグのジャンパーワイヤーで接続します。
GND → GND
5V(供給)
G26 (SCL) → SCL
G36
G0 (SDA) → SDA
BAT → 5V
3.3V → VCC
5V
スイッチは、上からみて左に動かすとON!
1モーター動かすには、次のコード
POKE#700,0,30:?I2CW(#38,#700,2)
アドレス#700にモーター番号0〜3、改定方向と強さ-127〜127を指定して、I2CWで送信します。 これを4つのモーター向けに繰り返せば、制御OK!キーボードで動かすサンプルです。
5 S=30:M=0 10 K=INKEY() 11 IF !K WAIT10:GOTO10 15 ?K 20 IF K=UP N=S:GSB@V 30 IF K=DOWN N=-S:GSB@V 40 IF K=LEFT N=S:IF M GSB@H ELSE GSB@T 50 IF K=RIGHT N=-S:IF M GSB@H ELSE GSB@T 60 IF K=SPACE N=0:GSB@V 70 IF K=10 M=!M:LEDM 80 GOTO 10 300 @V:POKE#700,0,N,1,N,2,N,3,N:GOTO@W 310 @H:POKE#700,0,-N,1,-N,2,N,3,-N:GOTO@W 320 @T:POKE#700,0,N,1,-N,2,-N,3,N:GOTO@W 330 @W:FORI=0TO3:?I2CW(#38,#700+I*2,2):WAIT1:NEXT:RTN
5行 S:スピード1-127(20あたりだと弱すぎて動かない)、M:モード エンターキーで左右キーで左右移動か転回か切り替え
10-80行 キー操作によってRoverCコントロール
330行 4モーター分のデータ送信ドライバ
300-320行 前後、左右、転回コマンド
4つの車輪で横移動する機構がおもしろいですね!レゴ、テクニックシリーズのパーツで筐体づくりができるようになっています。
2020/11/8開催、第4回越前がにロボコン!
RoverCは車輪型なので、エントリー部門にて参加可能です!
links
- M5Stack RoverCプログラム可能な全方向移動ロボットベース、M5StickC STM32f030f4マイクロコントローラーと互換性あり - Amazon