- 追加された行はこの色です。
- 削除された行はこの色です。
[[2004/C2/49班]]
#define THRESHOLD 40 // 閾値
#define RUN_TIME 1500 // トレースする時間(単位 1/10 秒)
task main ()
{
ライントレースロボットのプログラム
#define THRESHOLD 40 // 明るさの閾値を設定
task main ()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
ClearTimer(0); // Timer(0) をリセット
OnFwd(OUT_A);
while ( Timer(0) <= RUN_TIME ) { // タイマー0がRUN_TIME以下の時に繰り返す
if (SENSOR_1 < THRESHOLD) { // 黒線上にいるとき
OnRev(OUT_C);Wait(200);
while (true) { // 繰り返す
if (SENSOR_1 < THRESHOLD) { // 黒線上にいる(光センサーが閾値より低い値を感知する)とき
OnRev(OUT_C);Wait(200); //ロボット本体を右回転
} else { // 黒線から外れたとき
OnFwd(OUT_C);
}
}
}
OnFwd(OUT_C); //ロボット本体を左回転
}
}
}
コメント
ギザギザに進むのでちょっと進行速度が遅いですが、
そのぶん結構急なカーブなどもきちんとトレースしてくれました。
シンプルなプログラムの割にはそれなりに高性能 !?
すごいぞ ! ロボットさん。
...これで、課題文に「出来るだけ速いロボットを」と書かれていなければなあ。
[[戻る>2004/C2/49班]]