[[2006a/B2]] *『木』とロボットに書かせる [#x62d7d3d] 5月17日、とりあえず試作プログラムです。 製作者//:Blue task main () { OnFwd(OUT_A+OUT_C); Wait(); OnFwd(OUT_A);OnRev(OUT_C); Wait(); OnFwd(OUT_A+OUT_C); Wait(); OnFwd(OUT_A);OnRev(OUT_C); Wait(); OnFwd(OUT_A+OUT_C); Wait(); OnFwd(OUT_A);OnRev(OUT_C); Wait(); OnFwd(OUT_A+OUT_C); Wait(); OnRev(OUT_A+OUT_C); Wait(); OnRev(OUT_A);OnFwd(OUT_C); Wait(); OnFwd(OUT_A+OUT_C); Wait(); OnRev(OUT_A+OUT_C); Wait(); OnFwd(OUT_A);OnRev(OUT_C); Wait(); OnFwd(OUT_A+OUT_C); Wait(); Off(OUT_A+OUT_C); } *やっとロボット完成!! [#we35275c] どうやってペンを持たせるかでかなり時間を とられてしまった。初めはキャタピラにくくりつける、 アームを作ってペンを持たせるなど、色々案があったが すべて計画倒れになってしまった。そして現在のようにタイヤ にペンを挟み込むという案に落ち着いた。 &ref(kadai.ki.jpg); &ref(ki.jpg); 試作プログラムを踏まえてもっと見やすい、そして打ってて楽な プログラムを作りました! これがペンを持たせた後の最新プログラムです。 製作者//:Blue 製作日//:2006-5-21 #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); // 右へ旋回 #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); // 左へ旋回 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); // まっすぐ前進 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); // まっすぐ後退 #define pen_up(t) OnFwd(OUT_B);Wait(t);Off(OUT_B); // ペンを上げる #define pen_down(t) OnRev(OUT_B);Wait(t);Off(OUT_B); // ペンを下げる task main() { pen_down(7); go_straight(100); // 「木」の一画目 pen_up(6); go_back(85); turn_right(98); go_back(21); pen_down(); go_straight(150); // 「木」の二画目 pen_up(6); go_back(123); turn_right(45); go_straight(31); // 「木」の三角目 pen_down(9); go_straight(90); pen_up(6); go_back(119); turn_left(80); go_straight(34); // 「木」の四画目 pen_down(9); go_straight(100); pen_up(7); } -難しかった点 やはり一画目、二画目、三画目、四画目を一点に交わせることが 難しかった。何度も数値を変えて実験を繰り返し一点に交わるよ にしたが、床との摩擦、紙が動く等の問題が山積みである。 さらにこのロボットは、走っているうちに左に曲がる傾向がある ので、厄介だった。多少強度に難あり。 -工夫した点 出来るだけシンプルで動きやすいロボットにした。ペンを挟む タイヤを上方に取り付けることによって、ペンをタイヤで上げた ときに上に飛んでいくことを防いだ。また、ペンをブロックで 四方を囲むことによってペンのブレを防いだ。 プログラミングが楽になるように情報集めに力を注いだ。 筆ペンにしたことは正解だったと思う。 -感想 初めてロボットが木という字を書いたときには感動した。 ロボットが完成してからは、時間はかかったけれど、割とスムー ズに事が運んでよかった。あと、ちゃんとまっすぐ走ってもらい たい。 -コメントをどうぞ -写真を載せると、ロボットのイメージが伝わると思いますよ。 -- [[ゆき(TA)]] &new{2006-05-26 (金) 14:57:44}; -#defineは一行にまとめないと、うまくいかないと思います。 -- [[ゆき(TA)]] &new{2006-05-26 (金) 15:16:05}; #comment