#define THRESHOLD  30
sub up_arm(){OnFwd(OUT_A); Wait(400);}
task main ()
{
    SetSensor(SENSOR_1, SENSOR_LIGHT);
     SetSensor(SENSOR_3, SENSOR_TOUCH);
     
     
   while (true) {  
     OnFwd(OUT_A); if (SENSOR_1 > THRESHOLD ) {   
     
     Off(OUT_A);Wait(5);OnRev(OUT_A);
     
     
     ClearTimer(0);
    while ( Timer(0) <= 50 ) { SendMessage(1); }   }
    
    
    
     if (SENSOR_1 < THRESHOLD)
      {     
     ClearTimer(0);
     while ( Timer(0) <= 20 ) { SendMessage(2);}                
        OnRev(OUT_A);
        OnFwd(OUT_C);
        
         until (SENSOR_3 == 1) ;
        
        Off(OUT_A);
            
      }
           
         OnFwd(OUT_C);   until  ( Message() == 6 ) ;
      
      if (SENSOR_1 < 30 ) {
    ClearTimer(0);
     while ( Timer(0) <= 50 ) { SendMessage(3); }
                    }
    if (SENSOR_1 > 45 ) { 
     ClearTimer(0);
      while ( Timer(0) <= 50 ) { SendMessage(4); }
                    }   
    else { 
     ClearTimer(0);
      while ( Timer(0) <= 50 ) { SendMessage(5); }
          
    }         
    ClearMessage();           
       until (Message() != 0);  
       if ( Message() == 6 ) up_arm() ;  
     
      ClearMessage();           
       until (Message() != 0);        
      if ( Message() == 7 ) ;        
              }
}


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