#define a 40 #define b 380 task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); OnFwd(OUT_A+OUT_C); Wait(50); Off(OUT_A+OUT_C); OnFwd(OUT_B); Wait(100); repeat(5) { ClearTimer(0); while ( Timer(0) <= b ) { if (SENSOR_1 < a) { OnFwd(OUT_A); Off(OUT_C); } else { Off(OUT_A); OnFwd(OUT_C); } } Off(OUT_A+OUT_C); if (SENSOR_2 < a) { OnFwd(OUT_A+OUT_C); Wait(10); OnRev(OUT_A); Wait(85); OnFwd(OUT_A+OUT_C); Wait(30); OnRev(OUT_A+OUT_C); Wait(30); OnRev(OUT_C); Wait(85); } else { OnFwd(OUT_A+OUT_C); Wait(10); OnRev(OUT_C); Wait(85); OnFwd(OUT_A+OUT_C); Wait(30); OnRev(OUT_A+OUT_C); Wait(30); OnRev(OUT_A); Wait(85); } } }
このプログラムは、簡単化したプログラムである。動作を複雑にした場合、自分達の頭がパンク寸前。ということもあって、コンベアーまでの距離を測ったりして、いろいろ試行してみた結果、得られたプログラムである。最大の欠点は、他のロボットがライン上に居たり、パックの山が大量に重なりあっている時には、正確に動かなくなるのである。 輸送ロボットのプログラムは、チーム別々でまず作ってみた。僕達の班で作ったプログラムはこんな感じになったb(>_<) 結局8班のプログラムを採用することとなった。僕等のプログラム~残念!!(;_;)
製作「ともT」