[[ライントレースをするロボット]] ・移動形式 タイヤ ・概略 ロボットの前部に光センサーを取り付けそれより前にタッチセンサーをつける。 ・センサーの数 光センサー1 タッチセンサー2 の計三つ。 なぜ光センサーが1つでタッチセンサーが2つなのかは色々あったんです。 今回は写真を撮り忘れたようで写真はありません。申し訳ない。 ・前にある障害物にあたると反転して戻るプログラム 制作者 祇園 安部 #define hi 45 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); while(true){ if(SENSOR_1 < hi) //黒線上にいるとき { OnFwd(OUT_A); //左回転 Off(OUT_C); } else //黒線上にいないとき { Off(OUT_A); //右回転 OnFwd(OUT_C); } if((SENSOR_2 ==1) || (SENSOR_3 ==1)) //障害物にあたったとき { OnRev(OUT_A+OUT_C); //後退 Wait(100); OnFwd(OUT_A); //左回転 Wait(250); OnFwd(OUT_C); //前進 } } } ・前にある障害物にあたると追い抜くプログラム 制作者 祇園 高野 #define hi 45 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); while(true){ if(SENSOR_1 < hi) //黒線上にいるとき { OnFwd(OUT_A); //左回転 Off(OUT_C); } else //黒線上にいないとき { Off(OUT_A); //右回転 OnFwd(OUT_C); } if((SENSOR_2 ==1) || (SENSOR_3 ==1)) //障害物にあたったとき { OnRev(OUT_A+OUT_C); //後退 Wait(100); OnFwd(OUT_A); //左回転 Wait(150); OnFwd(OUT_C); //前進 Wait(150); Off(OUT_A); //右回転 Wait(150); OnFwd(OUT_A); //前進 Wait(150); Off(OUT_A); //右回転 Wait(150); OnFwd(OUT_A); //前進 Wait(150); } } } ・苦労した点 風邪を引いてしまい時間がなかった。タッチセンサーをつけて反応させるようにするプログラミングが難しかった。 ・担当者 本体&プログラム 全員 ホームページ 祇園 コメントをどうぞ #comment