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


*光センサー一個 [#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);}     }  }  }

*光を求めて動くロボ課題3.1 [#e2577945]
 #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 [#o632089d]
 #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