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

作成者:坂口優也



task main()
  task main()          
  { SetSensor(SENSOR_1,SENSOR_TOUCH);   //センサー1をタッチセンサーとする
   SetSensor(SENSOR_3,SENSOR_TOUCH);   //センサ−3をタッチセンサーとする
   SetSensor(SENSOR_2,SENSOR_LIGHT);   //センサ−2を光センサーとする
        
        
   while(true)                         //条件式が真のときひたすら繰り返す
    {
      if((SENSOR_1==0)&&(SENSOR_3==0)) //タッチセンサー1と3に何も触れていないとき
        {
          if(SENSOR_2<40)       //光センサーが黒と判断したら 
            {  OnFwd(OUT_A);     //左旋回
               Off(OUT_C);
            }
          else                        //光センサーが白と判断したとき
            {  Off(OUT_A);      //右旋回
               OnFwd(OUT_C);
            }
        }
       
       
      else             //タッチセンサー1と3のいずれかにでも触れたとき
      
       { 
          Off(OUT_A+OUT_C) ;     //止まれ                          
          Wait(60);
         
          OnRev(OUT_A+OUT_C);   //下がれ
          Wait(80);
         
          OnFwd(OUT_A);      //90度右旋回
          OnRev(OUT_C);
          Wait(75);
         
        
         repeat(2)        //2回繰り返せ
        {
          OnFwd(OUT_A+OUT_C);  //直進
          Wait(120);
         
          OnFwd(OUT_C);     //90度左旋回
          OnRev(OUT_A);
          Wait(75);
        }
        
        OnFwd(OUT_A+OUT_C);  //タッチセンサーが黒と判断するまで直進
        until(SENSOR_2<40);  //
        
        OnFwd(OUT_A);     //多少右旋回
        OnRev(OUT_C);
        Wait(60);
       
                  
       }
         
         
       }   }



{
  
    SetSensor(SENSOR_1,SENSOR_TOUCH);             
    SetSensor(SENSOR_3,SENSOR_TOUCH); 
    SetSensor(SENSOR_2, SENSOR_LIGHT);
    
    while(true)
    
    {
  
  if((SENSOR_1 == 0)&&(SENSOR_3 == 0)) 
 
   
     {
        if (SENSOR_2 < 40)
         {                                    
            OnFwd(OUT_A);
            Off(OUT_C);
         } 
        else 
         {                                     
            Off(OUT_A);
            OnFwd(OUT_C);
         }
     }
 
  
  else
 { 
     Off(OUT_A+OUT_C) ;                             
     Wait(60);
  
     OnFwd(OUT_A);
     OnRev(OUT_C);
     Wait(155);
     Off(OUT_A+OUT_C);
     
     
     {if (SENSOR_2 < 40)
         {                                    
            OnFwd(OUT_C);
           OnRev(OUT_A);
         } 
        else 
         {                                     
          OnRev(OUT_C);
            OnFwd(OUT_A);
         }
     
    } 
    } }}

感想

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