上の写真が自分たちの作ったロボットです。
電源部分はロボットに乗せず、机の上に置くことにしました。
このロボットは、主に2つの部分によって構成されています。
タイヤを3つつけることによって、縦方向への移動をスムーズにしました。
また、タイヤのついた土台部分に、ペンのついた部分の歯車をかませることにより、横移動もできるようにしました。
このロボットは、以下の3つの動作によって文字を書きます。
この3つの動作を組み合わせて、斜めの線も書けるようにしました。
課題は、自分の名前の中の7画以上の漢字を選んで書くというものだったので、佐藤の「佐」を書きました。
書き順は無視しても良いということだったので、なるべく経路を短くしてプログラムの数が少なくなるように上の写真のような書き順にしました。
task main () { OnRev(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_A); Wait(030); Off(OUT_A);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_C); Wait(010); Off(OUT_C);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_A); Wait(020); Off(OUT_A);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_C); Wait(010); Off(OUT_C);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_A); Wait(030); Off(OUT_A);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_A); Wait(015); Off(OUT_A);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_C); Wait(010); Off(OUT_C);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_C); Wait(015); Off(OUT_C);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_AC); Wait(023); Off(OUT_AC);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_A); Wait(010); Off(OUT_A);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_C); Wait(015); Off(OUT_C);
OnFwd(OUT_B); Wait(010); Off(OUT_B);
OnRev(OUT_C); Wait(010); Off(OUT_C);
OnRev(OUT_A); Wait(007); Off(OUT_A);
OnRev(OUT_B); Wait(010); Off(OUT_B);
OnFwd(OUT_AC); Wait(023); Off(OUT_AC);
OnFwd(OUT_B); Wait(010); Off(OUT_B); }
A・B・Cはそれぞれ以下の動きに連動しています。
モーターの接続の関係でCの前後が逆になりました。
また、モーターがとても速かったため、0.1秒単位でプログラミングしました。
ペンがうまく滑らなかったので、文字が歪んでしまいましたが、形にはなりました。