ロボティクス入門ゼミ

光センサー一個

#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);
              }
            }
                                                                }

光センサー二個

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が反応しない。どこがおかしいのか見直して上手く動くようにする。  

当たると反転

            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); }
    
    }
    }

前のロボに当たると追い越すロボ

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);}     }  }  }

光を求めて動くロボ課題3.1

#define Do 262

#define Re 294

#define Mi 330

#define Fa 349

#define Sol 392

#define Ra 440



task play_music()   
{
   while (true)
   {
PlayTone(Do,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Mi,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Mi,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Do,35);Wait(40);

PlayTone(Mi,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Mi,35);Wait(40);

PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);  

PlayTone(Do,5);Wait(10);
PlayTone(Do,5);Wait(10);
PlayTone(Re,5);Wait(10);
PlayTone(Re,5);Wait(10);
PlayTone(Mi,5);Wait(10);
PlayTone(Mi,5);Wait(10);
PlayTone(Fa,5);Wait(10);
PlayTone(Fa,5);Wait(10); 

PlayTone(Mi,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Do,35);Wait(40);
Wait(40);
}
}
 


task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
start play_music ; 
OnFwd(OUT_A);
OnRev(OUT_C);
until(SENSOR_1>60);
while(true){
if(SENSOR_1>60){
stop play_music ;
OnFwd(OUT_A+OUT_C);
}else{
start play_music ;
OnFwd(OUT_A);
OnRev(OUT_C);
}}
} 

課題3.2

#define Do  262
#define Re  294
#define Mi  330
#define Fa  349
#define Sol 392
#define Ra  440 

task play_music()
{
while(true) {
PlayTone(Do,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Mi,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Mi,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Do,35);Wait(40);

PlayTone(Mi,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Ra,15);Wait(20);
PlayTone(Sol,15);Wait(20);
PlayTone(Fa,15);Wait(20);
PlayTone(Mi,35);Wait(40); 

PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);
PlayTone(Do,35);Wait(40);

PlayTone(Do,5);Wait(10);
PlayTone(Do,5);Wait(10);
PlayTone(Re,5);Wait(10);
PlayTone(Re,5);Wait(10);
PlayTone(Mi,5);Wait(10);
PlayTone(Mi,5);Wait(10);
PlayTone(Fa,5);Wait(10);
PlayTone(Fa,5);Wait(10); 

PlayTone(Mi,15);Wait(20);
PlayTone(Re,15);Wait(20);
PlayTone(Do,35);Wait(40);
Wait(40);
}
} 
   
 
 
task play_music2()
{
while(true)
{
PlayTone(Do,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Re,25);Wait(30);
PlayTone(Do,25);Wait(30);
PlayTone(Sol,175);Wait(180);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa,25);Wait(30);
PlayTone(Mi,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Re,25);Wait(30);
PlayTone(Do,25);Wait(30);
PlayTone(Sol,175);Wait(180);
PlayTone(Sol,25);Wait(30);
PlayTone(Fa,25);Wait(30);
PlayTone(Mi,55);Wait(60);
PlayTone(Fa,25);Wait(30); 
PlayTone(Sol,25);Wait(30);
PlayTone(Fa,55);Wait(60);
PlayTone(Mi,55);Wait(60);
PlayTone(Re,175);Wait(180);
}}



task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
start play_music;
OnFwd(OUT_A);
OnRev(OUT_C);
until(SENSOR_1>60);
while(true){
if(SENSOR_1>60){stop play_music ;
start play_music2;
OnFwd(OUT_A+OUT_C);
}else{stop play_music2 ;
start play_music;
OnFwd(OUT_A);
OnRev(OUT_C);
}}
}

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-04 (火) 19:04:46