[[2005/C1/宇佐美]] #contents **ロボット製作者 [#e04ac4e9] 池尻、宇佐美 *ライントレースするロボット~モーター2個、光センサー1個使用~ [#c6ba4b0e] **プログラム [#s21aa6f9] #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); } } } **感想 [#y19b00a5] うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。 *ライントレースするロボット~モーター1個、光センサー1個使用~ [#zaba073c] **ロボットの写真 [#qf9bcb2e] &ref(2005/C1/光センサー/画像 026.jpg,95%,モーター一個・ギア); &ref(2005/C1/光センサー/画像 025.jpg,95%,モーター一個); **プログラム [#e7b6ba72] #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); } } } **感想 [#y0a0ebbc] モーター1個に苦戦した。作れた!と思ったら、 ギアの構造が先生のヒントと同じような感じだったので、 ちょっと残念だった。 *ライントレースするロボット~モーター2個、光センサー2個使用(前後に設置)~ [#i482f782] **ロボットの写真 [#w483406f] &ref(2005/C1/光センサー/画像 024.jpg,95%,モーター二個); **プログラム [#k8102cb8] #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); } } } **感想 [#k2ce5059] うまくライントレースしなかった。 両方のセンサーが線から離れないと曲がらないようにしたため、 車体の長さの分、線からはみ出すまで進んだ。 結果、ズルをしたり、線から離れるロボットとなった。 *ライントレースするロボット~モーター2個、光センサー2個使用(両方前に線を挟むように設置)~ [#ace261c4] **プログラム [#a5282cbb] #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); } } } **感想 [#jcba5cfc] ちゃんとライントレースした。 モーター1個に挑戦したあとだったので、モーターを2つ使えるのが嬉しかった。 #comment