2006a/C3/課題2右

注意!!

自分のプログラムは試作段階なので、中央線のプログラムを見てください。

反転(光センサーsingle/ver.)

#define THRESHOLD 40   //光の強さを定義
#define TURN_TIME 200  //旋回にかかる時間
task main ()
{
  SetSensor(SENSOR_2,SENSOR_LIGHT);
  SetSensor(SENSOR_1,SENSOR_TOUCH);
  SetSensor(SENSOR_3,SENSOR_TOUCH);
  OnFwd(OUT_A+OUT_C); 
    while (true){
       if (SENSOR_2 < THRESHOLD){   // 黒線上にいるとき
          OnFwd(OUT_A);
          Off(OUT_C);
        } 
        else{                      // 黒線から外れたとき       Off(OUT_A);
          OnFwd(OUT_C);
          }
     }
    while(true)  //反転するプログラム{
        if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){   //片方のセンサーが触れたとき
          OnRev(OUT_A+OUT_C); Wait(50)
          OnFwd(OUT_A); OnRev(OUT_C); 
          Wait(TURN_TIME);
}

回避(光センサーsingle/ver.)

#define THRESHOLD 40   //光の強さを定義
#define TURN_TIME 200  //旋回にかかる時間
task main ()
{
 SetSensor(SENSOR_2,SENSOR_LIGHT);
 SetSensor(SENSOR_1,SENSOR_TOUCH);
 SetSensor(SENSOR_3,SENSOR_TOUCH);
 OnFwd(OUT_A+OUT_C); 
   while (true){
      if (SENSOR_2 < THRESHOLD){   // 黒線上にいるとき
         OnFwd(OUT_A);
         Off(OUT_C);
       } 
       else{                      // 黒線から外れたとき       Off(OUT_A);
         OnFwd(OUT_C);
         }
    }
   while(true)  //反転するプログラム{
       if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){   //片方のセンサーが触れたとき
         OnRev(OUT_A+OUT_C); Wait(50)
         OnFwd(OUT_A); OnRev(OUT_C); 
         Wait(TURN_TIME);

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-20 (木) 22:09:42