自動運転カーをプログラムしよう

4.車の動き方

IchigoJam BASICではモーターのON/OFFを、OUT2,1 / OUT2,0のように命令するのが一般的ですが、JAMCARではビット指定にてモーターを制御します。
動き方と命令の対応は次のとおりです。
全停止はOUT0です。

使用ポート用途命令
OUT2(PWM2)右モータ正転(前進)OUT2,1 OUT2,0 または OUT2
OUT3(PWM3)右モータ逆転(後退)OUT3,1 OUT3,0 または OUT4
OUT4(PWM4)左モータ正転(前進)OUT4,1 OUT4,0 または OUT8
OUT5(PWM5)左モータ逆転(後退)OUT5,1 OUT5,0 または OUT16

OUT命令とWAIT命令を組み合わせれば、ほとんどの動きがつくれるでしょう。

10 OUT10:WAIT30
20 OUT8 :WAIT60
30 OUT10:WAIT30
40 OUT0

0.5秒間前進し、右へ進行方向を変えて、
そのまま0.5秒間前進して停止

10 OUT10:WAIT60
20 OUT0 :WAIT120
30 OUT20:WAIT60
40 OUT0

1秒間前進し、2秒間停止。
そのまま1秒間後退し、停止

モータを逆転するときは、OUT0:WAIT10(10以上)のように一旦停止を入れてください。

◆試してみよう◆
このように、JAMCARを動かすにはOUT命令とWAIT命令を、どんどん並べていけばよいのですが、決まったパターンの動きならば、計算式で動きを作ることもできます。
OUTとWAITが2行しかない、次のプログラムで確かめてみてください。

500 FOR A=-6 TO 5
510 W=ABS(A)*5+15
520 FOR B=0 TO 3
530 IF B<2 P=B*14+2 ELSE P=-B*4+16
540 OUT P:WAIT W
550 OUT 0:WAIT 9
560 NEXT
570 NEXT
580 GOTO500