[[2006a/B2]] #contents *ロボットの構造☆ [#w027d20f] **製作過程 [#d8f58e4d] ・今回は、タッチセンサーはシングルバンパーで、光センサーは二つ使うというアイデアはすんなりまとまった。 ・しかし、これらふたつのセンサーをどのようにつけるかで時間を食ってしまう・・・(泣) ・結局ロボット製作に二時間ほどかかってしまった。 **出来上がったロボット[#d52be7a1] &ref(kadai2.1.jpg); &ref(kadai2.3.jpg); ↑↑バンパーのついている方が前です。 **タッチセンサーの装着 [#i64439f4] &ref(kadai2.9.jpg); ←斜めから見た様子 &ref(kadai2.8.jpg); ←真横から見た様子 何かにぶつかったら、センサーのスイッチが入りタッチセンサーが作動する仕組みになってます。 **光センサーの装着 [#ad9f5061] &ref(kadai2.6.jpg); ←右側の光センサー &ref(kadai2.7.jpg); ←左側の光センサー &ref(kadai2.5.jpg); ←車体の裏から見た光センサー 二つの光センサーで、黒い線を挟み込むようにして黒い線の上を走行します。 *試作プログラム[#f6858232] **障害物にぶつかったら反転するプログラム [#xe917385] シングルバンパーでの反転するプログラムです。 製作日//:06-6-14 製作者//:Blue task main() SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2がタッチセンサーと宣言 while(true) { OnFwd(OUT_A+OUT_C); until(SENSOR_2==1); //タッチセンサーが押されるまで直進 OnRev(OUT_A+OUT_C); //タッチセンサーが押された後、後退 Wait(20); OnRev(OUT_A); //モーターAを逆回転 Wait(200); OnFwd(OUT_C); //モーターCを正回転 Wait(190); OnFwd(OUT_A+OUT_C); //反転して直進 } } 床の摩擦によって多少動きにブレはあるが、ちゃんと反転してくれた↑↑ **黒い線の上を走行するライン・トレースのプログラム [#b9bd5fa9] 光センサー二つをつけたときのライン・トレースのプログラムです。 製作日//:06-6-14 製作者//:Blue task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1が光センサーと宣言 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3が光センサーと宣言 while(true) { if (SENSOR_1> 40) //光センサー1が黒い線まで来ていないとき { OnFwd(OUT_A); //モーターAを正回転 Off(OUT_C); //モーターCを静止 } else //光センサー2が黒い線に来たとき { OnFwd(OUT_C); //モーターCを正回転 Off(OUT_A); //モーターAを静止 } if (SENSOR_3>40) //光センサー3が黒い線まで来ていないとき { OnFwd(OUT_C); //モーターCを正回転 Off(OUT_A); //モーターAを静止 } else //光センサー3が黒い線まで来たとき { OnFwd(OUT_A); //モーターAを正回転 Off(OUT_C); //モーターCを静止 } } } } 動きはたどたどしいけれど、ちゃんと黒い線の上を走ります!