*プログラム [#kae8eb5d]
**きたざわ [#k8b288df]
 #define go OnFwd(OUT_B);     //直進
 #define spin OnRev(OUT_B);   //左回転
 #define eye_r SENSOR_2       //センサー2の名称を「eye_r」に定義
 #define eye_l SENSOR_1       //センサー1の名称を「eye_l」に定義
 #define boundary_r 50        //あとで訂正しやすいように値を定義
 #define boundary_l 85        //あとで訂正しやすいように値を定義
 #define ready 80             //あとで訂正しやすいように値を定義 
 
 task shoot()   //ホイールを打つためのタスク
 {                                      
       OnRev(OUT_A);Wait(150);  //発射口のタイヤを回し始める(最高速に達するために、ホイールを押し出すよりも早めに回し始める)
      OnRev(OUT_C);Wait(50);   //ホイールを一つ押し出す
      Float(OUT_A+OUT_C);      //動かしているモーター2つをゆっくりと止める
 }
 
 task move()   //懐中電灯まで近づくためのタスク
 {
      while(true) {  
         go;   //普段は直進 
 
         if(eye_r<=boundary_r) {             //もし
            spin;Wait(100);                  //
            go;Wait(50);                     //
           spin;until(eye_r>=boundary_r);   //
           }
 
         if(eye_l>=boundary_l) {             //
            spin;Wait(300);                  //
            go;Wait(100);                    //
            spin;until(eye_r>=boundary_r);   //?
           }
        }
 }

 task main()   //                
 {
      SetSensor(SENSOR_1,SENSOR_TOUCH);          //
      SetSensor(SENSOR_1,SENSOR_TOUCH);          // 
      SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);   //
      SetSensorMode(SENSOR_2,SENSOR_MODE_RAW);   // 
 
      while(true) {    //                           
         start move;   //
         
         if(eye_r>=ready) {   //
            Off(OUT_B);       //
            stop move;        //
 
            start shoot;   //
           }
        }
 }


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