[[2006b/A1/課題2左]]
#contents
*衝突後よけて通るプログラム [#y951c4d2]
 task main()
 {
     SetSensor(SENSOR_1,SENSOR_LIGHT);//光センサーのセット
     SetSensor(SENSOR_2,SENSOR_TOUCH);//タッチセンサーのセット
     SetSensor(SENSOR_3,SENSOR_LIGHT);//光センサーのセット
   
   while(true){
     if(SENSOR_1 >=40 && SENSOR_3 >=40){
     OnFwd(OUT_A+OUT_C);
     }//両方の光センサーが明るいと判断すると、前進。
    
     else if(SENSOR_1 <40 && SENSOR_3< 40){
     OnFwd(OUT_C+OUT_A);
     }//両方の光センサーが暗いと判断しても、前進。
     
     else if(SENSOR_3 < 40){
     OnFwd(OUT_A);
     OnRev(OUT_C);
     Wait(4);
     }//右の光センサーが暗いと判断すると右に曲がる。
     
     else{
     OnFwd(OUT_C);
     OnRev(OUT_A);
     Wait(4);
     }//左の光センサーが暗いと判断すると左に曲がる。
     
    
    
     if(SENSOR_2 == 1){                   //タッチセンサーの反応
     OnRev(OUT_A+OUT_C);
     Wait(50);                                   //少し後退
     
     OnFwd(OUT_A);
     OnRev(OUT_C);
     Wait(90);                                   //右に方向転換
     
     OnFwd(OUT_A+OUT_C);
     Wait(100);                                 //前進
     
     OnRev(OUT_A);
     Wait(90);                                   //左に方向転換
     
     OnFwd(OUT_A);
     Wait(100);                                 //前進
     
     OnRev(OUT_A);
     Wait(90);                                   //左に方向転換
     
 
     OnFwd(OUT_A);                        //ここで、黒い線にあたるまで前進。
     until(SENSOR_1<26 ||SENSOR_3<26);
     Wait(20);
     
     OnRev(OUT_C);
     Wait(45);                                   //ある程度回転させる
     until(SENSOR_1 < 40);            //ここの判断で、黒い線をまたがせる
     
     
     }
   }
   
 }

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