モーター2つのライントレースロボットのプログラムです。
#define BLACK 45 //黒い線 #define A 10 //微少時間 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); while(true){ if(SENSOR_1>BLACK && SENSOR_3>BLACK){ //2つのセンサが黒い線の上ではない時 OnFwd(OUT_A+OUT_C); Wait(A); } else if(SENSOR_1< BLACK){ //左側のセンサが黒い線を感知した時 while(SENSOR_1< BLACK){ //黒い線を感知している間 OnFwd(OUT_C); //半時計回り OnRev(OUT_A); Wait(A); } } else if(SENSOR_3< BLACK){ //右側のセンサが黒い線を感知した時 while(SENSOR_3< BLACK){ //黒い線を感知している間 OnFwd(OUT_A); //時計回り OnRev(OUT_C); Wait(A); } } } Float(OUT_A); //意味なし }
感想
やはりセンサ2つ、タイヤ2つはプログラムも簡単です。 このプログラムは曲がる時、いったん止まって回転します。 なのでどうしても遅くなります。でも確実なのでこれを採用しました。 以上。