[[2006a/MemberOnly/進行状況A]] *課題2反転するロボ [#z725d9ef] **制作者 Fuji[#i01f7031] task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー while(true) { OnFwd(OUT_A+OUT_C); if(SENSOR_1==1) //何かに当ったら・・・ { OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(150); OnFwd(OUT_C); //後退して旋回する } //ライントレース部 if(SENSOR_2<40) //右にずれたとき { OnFwd(OUT_C);Off(OUT_A);} else{OnFwd(OUT_A+OUT_C);} if(SENSOR_3<40) //左にずれたとき { OnFwd(OUT_C);Off(OUT_A);} else{OnFwd(OUT_A+OUT_C); } } } *課題2前のロボに当たると追い抜く [#f253c515] **制作者:Fuji [#eced6868] task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー OnFwd(OUT_A+OUT_C); while(true){ if(SENSOR_1==1){ OnRev(OUT_A+OUT_C);Wait(50); //後退 OnFwd(OUT_A);Wait(50); OnFwd(OUT_A+OUT_C);Wait(50); OnFwd(OUT_C);Wait(50); OnFwd(OUT_A+OUT_C);Wait(300); //前のロボットを追い越す OnFwd(OUT_C);Wait(50); OnFwd(OUT_A+OUT_C);Wait(50); //コースに戻る OnFwd(OUT_A);Wait(50); } else{ if(SENSOR_2<40) {OnFwd(OUT_C);} if(SENSOR_3<40) {OnFwd(OUT_A);} } } } //ライントレース部 *苦労した所 [#sc0092ea] タッチセンサーと光センサー2個をロボに取り付けなくてはいけなかったところ。前にタッチセンサーを付けるので光センサーをつけるのが苦労した。 *工夫した所 [#e64a3fb4] タッチセンサーのバンパーを少し短くして反転するときや曲がるときに邪魔にならないようにした。 *感想 [#v14baf6b] *コメントをどうぞ [#z51143dd] #coment