[[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班]]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS