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


*光センサー一個 [#t39cca41]


#define THRESHOLD 40

task main()
{
   SetSensor(SENSOR_1,SENSOR_LIGHT);
   
   while(true){
         if(SENSOR_1< THRESHOLD) {
            OnFwd(OUT_A);
            Off(OUT_B);
            } else {
               Off(OUT_A);
               OnFwd(OUT_B);
               }
             }
                                                                 }
 

*光センサー二個 [#r7870ae7]


task  main()
{
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    SetSensor(SENSOR_2,SENSOR_LIGHT);
    
    while(true)
    {if(SENSOR_1 >48){Off(OUT_A);OnFwd(OUT_B) ; }
      
      if(SENSOR_2>40){Off(OUT_B); OnFwd(OUT_A);  }
     else{OnFwd(OUT_A +OUT_B);} }
     }

感想:上手くセンサー2が反応しない。どこがおかしいのか見直して上手く動くようにする。
 


*当たると反転 [#h5e1d737]


                                                  
 task main()
{
    SetSensor(SENSOR_1,SENSOR_TOUCH);
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    
    while(true)
  {
       OnFwd(OUT_A+OUT_C);
       
       if(SENSOR_1==1)
    {   
       OnRev(OUT_A+OUT_C);  Wait(50);
       OnFwd(OUT_A);  Wait(150);
       OnFwd(OUT_C);
                                                             }
       
       if(SENSOR_2<40)
     { OnFwd(OUT_C);Off(OUT_A);}
       else{OnFwd(OUT_A+OUT_C);}
     
       if(SENSOR_3<40)
     {  OnFwd(OUT_C);Off(OUT_A);}
     else{OnFwd(OUT_A+OUT_C); }
     
     }
     }

*前のロボに当たると追い越すロボ [#d62b1c7d]
task main()
{

   SetSensor(SENSOR_1,SENSOR_TOUCH);
   SetSensor(SENSOR_2,SENSOR_LIGHT);
   SetSensor(SENSOR_3,SENSOR_LIGHT);
   
   
   
   while(true){
   OnFwd(OUT_A+OUT_C);
   
   if(SENSOR_1==1){
      OnRev(OUT_A+OUT_C);Wait(100);
      OnFwd(OUT_A);Wait(70);
      OnFwd(OUT_A+OUT_C);Wait(100);Off(OUT_A);
      OnFwd(OUT_C);Wait(70);
      OnFwd(OUT_A+OUT_C);Wait(300);Off(OUT_A);
      OnFwd(OUT_C);Wait(70);
      OnFwd(OUT_A+OUT_C);Wait(100);Off(OUT_C);
      OnFwd(OUT_A);Wait(70);              }
      
      else{
        if(SENSOR_2<40)
        {OnFwd(OUT_C);Off(OUT_A);}
        if(SENSOR_3<40)
        {OnFwd(OUT_A);Off(OUT_C);}     }  }  }

*光を求めて動くロボ [#eeaecf3d]
#define TURN_TIME338
task main()
{   
      SetSensor(SENSOR_1,SENSOR_LIGHT);
      int light_max=0,time_max;
      if(SENSOR_1==light_max)
      {OnFwd(OUT_A+OUT_C);}
      else
      {ClearTime(0);
       while(Time(0)<=TURN_TIME)
       {OnFwd(OUT_A);OnRev(OUT_C);
       if(light_max<SENSOR_1)
       {light_max=SENSOR_1;
         time_max=Timer(0);}}
       if(time_max<(TURN_TIME/2)) 
       {OnFwd(OUT_A);OnRev(OUT_C);
         Wait(time_max);}
        else
        {OnFwd(OUT_C);OnRev(OUT_A);
          Wait((TURT_TIME)-(time_max));}}}



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