[[2006a/B2]] *『木』とロボットに書かせる [#x62d7d3d] 5月17日、とりあえず試作プログラムです。 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); } 5月21日、やっとロボット完成!! どうやってペンを持たせるかでかなり時間を とられてしまった。 &ref(kadai.ki.jpg); &ref(ki.jpg); これがペンを持たせた後の最新プログラムです。 #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