2004/A6/練習問題

[heart]黒い線をトレースするプログラム


    
    #define THRESHOLD 40   // 閾値
    void serch()
    {
    SetSensor(SENSOR_2,SENSOR_LIGHT);
    SetPower(OUT_A+OUT_C,2);
    repeat (35) {  // タイマー0がRUN_TIME以下の時に繰り返す
    if (SENSOR_2 < THRESHOLD) {   // 黒線上にいるとき
    OnFwd(OUT_A);
    Off(OUT_C);
    } else {                      // 黒線から外れたとき
    Off(OUT_A);
    OnFwd(OUT_C);
    }
    }
    }
    task main ()
    {
    OnFwd(OUT_A);
    OnFwd(OUT_C);
    SetSensor(SENSOR_2,SENSOR_LIGHT);
    while (true)
    {
    OnRev(OUT_A);
    OnRev(OUT_C);
    Wait(10);
    serch();
    }
    }

苦労した点:急な角度を曲がるのに非常に苦労した。

また、トレースする黒い線をクロスさせてしまったりして、さらにいらぬ苦労をした。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-11 (金) 17:09:16