[[2006a/C3/課題2左]]

作成者:飯田橋

 task main()
 {
     SetSensor(SENSOR_3,SENSOR_LIGHT);
     SetSensor(SENSOR_1,SENSOR_LIGHT);
     SetSensor(SENSOR_2,SENSOR_TOUCH);
     OnFwd(OUT_A+OUT_C); //まっすぐ進む
     OnFwd(OUT_A+OUT_C); //直進
     while(true)
      {
           while(SENSOR_2==0)
           {
                        if (SENSOR_1<40)//センサー1が
          	{            //黒い線の上に行ったら
         		OnRev(OUT_A);   //左旋回
         		OnFwd(OUT_C);   //
                OnFwd(OUT_A+OUT_C);//前進                        
                        if (SENSOR_1<40) //センサー1が黒い線の
          	{            //上に行ったら0.10秒左旋回
         		OnRev(OUT_A);   
         		OnFwd(OUT_C);   
         		Wait(10);      		
 }	
                      else if(SENSOR_3<40)//センサー3が黒い線の
        		{             //上に行ったら0.10秒右旋回                                                    
                         OnRev(OUT_C);    
         		OnFwd(OUT_A);  
         		Wait(10);
         		OnFwd(OUT_A+OUT_C);
        		}	
                        else if(SENSOR_3<40)//同じく3の場合
        		{          //右旋回                                                     
                         OnRev(OUT_C);  
         		OnFwd(OUT_A);
         		Wait(10);
         		OnFwd(OUT_A+OUT_C);
                  }
           }
                      if(SENSOR_2==1)
                      if(SENSOR_2==1)//接触した場合右回りで迂回
                 {
          		OnRev(OUT_A); OnFwd(OUT_C);   Wait(40);//接触した場合右回りで迂回
          		OnRev(OUT_A); OnFwd(OUT_C);Wait(40);//0.40秒右旋回の後停止
          		Off(OUT_A+OUT_C);       //の0.40秒直進の後停止
          		OnFwd(OUT_A+OUT_C); Wait(40);  //0.40秒左旋回
          		Off(OUT_A+OUT_C);
          		OnFwd(OUT_A+OUT_C); Wait(40);
          		Off(OUT_A+OUT_C);
          		OnRev(OUT_C);OnFwd(OUT_A);Wait(40);
          		Off(OUT_A+OUT_C);
    		 }
     }
  }



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