[[ロボティクス入門ゼミ]]

情報工なので、t5です。

*ラインとレースロボ(テスト版) [#h4f6f7cf]
elseのテスト。

 #define THRESHOLD 40 
 task main ()
 {
  SetSensor(SENSOR_1, SENSOR_LIGHT);
  SetSensor(SENSOR_2, SENSOR_TOUCH);
  SetSensor(SENSOR_3, SENSOR_LIGHT);  //センサの定義
  
   while (true) 
   {
      if (SENSOR_1 < THRESHOLD)   //センサ1が黒なら右回転         
       {
           OnFwd(OUT_A);
           OnRev(OUT_C);
       }
      else
        {
          OnFwd(OUT_C);  //*1
         }
       if (SENSOR_3 < THRESHOLD)  //センサ3が黒なら左回転         
       {
           OnFwd(OUT_C);
           OnRev(OUT_A);
       }
        else
       {
          OnFwd(OUT_A);  //*1と共に直進になる?
        }
          
       if (SENSOR_2==1 )             //ぶつかったら半回転
      {
          OnFwd(OUT_A);OnRev(OUT_C);Wait(200);  //大きめに振る
          OnRev(OUT_A);OnFwd(OUT_C);Wait(50);   //戻す          
      }
        
    }
   }

*ライントレースロボ(バグ修正) [#b4177cbd]
僕のプログラムにあったものを修正。

 #define THRESHOLD 40   // 閾値
 
 task main ()
 {
   SetSensor(SENSOR_1, SENSOR_LIGHT);
   SetSensor(SENSOR_3, SENSOR_LIGHT);
   SetSensor(SENSOR_2, SENSOR_TOUCH);
    
    while (true) 
    {
        if (SENSOR_1 < THRESHOLD)           // (1)黒線上に いるとき
        {
            OnFwd(OUT_A);
            Off(OUT_C);
        } 
        if (SENSOR_3 < THRESHOLD)           // (3)黒線上にいるとき
        {
            OnFwd(OUT_C);
            Off(OUT_A);
        }
        if (SENSOR_2==1 )
       {
           OnFwd(OUT_A);OnRev(OUT_C);Wait(70);    //タッチしたら180°反転する
           OnFwd(OUT_C);Wait(30);
           OnFwd(OUT_C);OnRev(OUT_A);Wait(70);
           OnFwd(OUT_A);Wait(200);
           OnFwd(OUT_C);OnRev(OUT_A);Wait(90);
           OnFwd(OUT_A);    
       }
     }  
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS