[[2005/C1/宇佐美]] #contents **ライントレースするロボット~モーター2個、光センサー1個使用~ [#c6ba4b0e] #define T 40 task main () { SetSensor(SENSOR_2,SENSOR_LIGHT); while (true) { if (SENSOR_2 < T) { //センサーが線の上にある条件 OnFwd(OUT_A); Off(OUT_C); } else { //それ以外の条件 Off(OUT_A); OnFwd(OUT_C); } } } 感想:うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。 **ライントレースするロボット~モーター1個、光センサー1個使用~ [#zaba073c] #define T 40 task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) { if (SENSOR_2 > T) { //センサーが線の上にないとき OnFwd(OUT_B); } if (SENSOR_2 < T)) { //センサーが線の上にあるとき OnRev(OUT_B); } } } 感想:モーター1個に苦戦した。作れた!と思ったら、 ギアの構造が先生のヒントと同じような感じだったので、 ちょっと残念だった。 **ライントレースするロボット~モーター2個、光センサー2個使用(前後に設置)~ [#i482f782] #define T 40 task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); while (true) { if ((SENSOR_1 < T) &&(SENSOR_3 < T)){ //前後のセンサーが線の上にある条件 OnFwd(OUT_A); OnFwd(OUT_C); } if (SENSOR_1 < T){ //前のセンサーのみ線の上にある条件 OnFwd(OUT_A); Off(OUT_C); } if (SENSER_1 < T){ //後のセンサーのみ線の上にある条件 Off(OUT_A); OnFwd(OUT_C); } } } 感想:うまくライントレースしなかった。 両方のセンサーが線から離れないと曲がらないようにしたため、 車体の長さの分、線からはみ出すまで進んだ。 結果、ズルをしたり、線から離れるロボットとなった。 **ライントレースするロボット~モーター2個、光センサー2個使用(両方前に線を挟むように設置)~ [#ace261c4] #define T 40 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); while(true) { if ((SENSOR_1 > T)&&(SENSOR_3 > T)){ //センサーが両方線の上にないとき OnFwd(OUT_A+OUT_C); Off(OUT_A+OUT_C); } if (SENSOR_1 < T) { //センサー1が線の上にあるとき OnFwd(OUT_A); Off(OUT_A); } else { //センサー3が線の上にあるとき OnFwd(OUT_C); Off(OUT_C); } } } 感想:ちゃんとライントレースした。 モーターを2つ使えるのが嬉しかった。 #comment