*//演奏ロボット// [#u813c74d]
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define Ra 880
#define Si 988
 int m;
task play_music1(){
      while(true){
                  m=30;
                 PlayTone(Do,25); Wait(m);  
                 PlayTone(Re,25); Wait(m);  
                 PlayTone(Mi,50); Wait(55);  
                 PlayTone(Re,25); Wait(m);
                 PlayTone(Do,25); Wait(m);
                 PlayTone(Do,25); Wait(m);
                 PlayTone(Re,25); Wait(m);
                 PlayTone(Mi,25); Wait(m);
                 PlayTone(Re,25); Wait(m);
                 PlayTone(Do,25); Wait(m); 
                 PlayTone(Re,50); Wait(55);
                Wait(15);
                      }
                               }
#define Mi 659//変数を決める
       int m;//変数m(mは定数)

       task play_music1(){
             while(true){
                     m=25;
                     PlayTone(Do,20); Wait(m);  
                     PlayTone(Re,20); Wait(m);  
                     PlayTone(Mi,40); Wait(45);  
                     PlayTone(Re,20); Wait(m);
                     PlayTone(Do,20); Wait(m);
                     PlayTone(Do,20); Wait(m);
                     PlayTone(Re,20); Wait(m);
                     PlayTone(Mi,20); Wait(m);
                     PlayTone(Re,20); Wait(m);
                     PlayTone(Do,20); Wait(m); 
                     PlayTone(Re,40); Wait(45);
                     Wait(15);
                                   }
                          }
task play_music2(){
        while(true){
               m=25;
               PlayTone(Fa,20);Wait(m);  
               PlayTone(So,20); Wait(m);  
               PlayTone(Ra,20); Wait(m);  
               PlayTone(Si,20); Wait(m);
               PlayTone(Ra,20); Wait(m);
               PlayTone(So,20); Wait(m);
               PlayTone(Fa,40); Wait(45);
               PlayTone(So,20); Wait(m);
               PlayTone(Ra,20); Wait(m);
               PlayTone(Si,20); Wait(m);
               PlayTone(1046,20); Wait(m);
               PlayTone(Si,20);Wait(m);
               PlayTone(Ra,20); Wait(m);
               PlayTone(So,40); Wait(45);
              Wait(15);
               }
               PlayTone(Re,50);Wait(55);  
                  Wait(50);       }
                     }
 
task main()
  
{
 int time;

SetSensor(SENSOR_3,SENSOR_TOUCH); time=200 ;
  while(true){
  stop play_music2;
  start play_music1; OnFwd(OUT_A);
  until(SENSOR_3==1);
task main(){
               int time;
              SetSensor(SENSOR_3,SENSOR_TOUCH); time=250 ;
     while(true){
           stop play_music2; start play_music1; //play_music2を止めてplay_music1
                                                                     を再生
           OnFwd(OUT_A); until(SENSOR_3==1);//センサーが押されるまで前進
   if(SENSOR_3==1){ 
    stop play_music1;  start play_music2;
   OnRev(OUT_A);Wait(time);
  }
}
   Off(OUT_A+OUT_C);
}
            stop play_music1;  start play_music2;///play_music1を止めてplay_music2
                                                                     を再生
           OnRev(OUT_A);Wait(time);//250秒間後退
                               }
                      }
           Off(OUT_A+OUT_C);//停止

*《反省・感想》 [#k4d20938]
 曲を二つ作り前進と後進で音楽を変えた。モーターを一つにした。
 モータ1つで方向変換などの動作を行なうことが難しく、ロボットの本体の作成にも時間がかかった。またプログラムでtask mainなどは1,2と数値を付ければ、何個かプログラムを作成できることがわかった。(ここではtask play_music)


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