[[2007a/MemberOnly/進行状況A]]
 /**/

 #define MOTOR OUT_A+OUT_C  //
 #define THRESHOLD  40             // 
 #define THRESHOLD  40             // 闘値を設定
 #define RUN_TIME  150             //
 #define Do  523
 #define Re  587
 #define Mi  659
 #define Fa  698
 #define Sol 784

 task play_music()   
 {
    while (true)
    {
        PlayTone(Mi,25); Wait(30);  
        PlayTone(Re, 5); Wait(10);  
        PlayTone(Do,15); Wait(20);  
        PlayTone(Re,15); Wait(20);

        PlayTone(Mi,15); Wait(20);
        PlayTone(Mi,15); Wait(20);
        PlayTone(Mi,35); Wait(40);

        PlayTone(Re,15); Wait(20);
        PlayTone(Re,15); Wait(20);
        PlayTone(Re,35); Wait(40);

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

        PlayTone(Mi,25); Wait(30);
        PlayTone(Re, 5); Wait(10);
        PlayTone(Do,15); Wait(20);
        PlayTone(Re,15); Wait(20);

        PlayTone(Mi,15); Wait(20);
        PlayTone(Mi,15); Wait(20);
        PlayTone(Mi,35); Wait(40);

        PlayTone(Re,15); Wait(20);
        PlayTone(Re,15); Wait(20);
        PlayTone(Mi,25); Wait(30);
        PlayTone(Re, 5); Wait(10);

        PlayTone(Do,55); Wait(60);
        Wait(20);
    }
 }



 task main ()
 {
        SetSensor(SENSOR_1,SENSOR_LIGHT);
        SetSensor(SENSOR_3,SENSOR_LIGHT);
        SetSensor(SENSOR_2,SENSOR_TOUCH);
        
        start play_music ;
        SetSensor(SENSOR_1,SENSOR_LIGHT);// センサ1が光センサであることを定義
        SetSensor(SENSOR_3,SENSOR_LIGHT);// センサ3が光りセンサであることを定義
        SetSensor(SENSOR_2,SENSOR_TOUCH);// センサ2がタッチセンサであることを定義
      
        while(true){
              if(SENSOR_2 == 1){  
                if(SENSOR_1 > THRESHOLD){
                    if(SENSOR_3 > THRESHOLD){
                        OnFwd(MOTOR);
                    } else {
                         OnFwd(OUT_A);
                         Off(OUT_C);
                         Off(OUT_C);// センサ1が反応(黒線から外れた)したとき、Aを進めCを止める
                        }
                  } else {
                         if(SENSOR_3 > THRESHOLD){                      
                         Off(OUT_A); 
                         OnFwd(OUT_C);
                         OnFwd(OUT_C);// センサ3が反応(黒線から外れた)したとき、Aを止めCを進める
                         }else{
                           OnFwd(MOTOR);
                           Wait(35);
                           Off(MOTOR);
                           Wait(20);
                           Off(MOTOR);// 2つの光センサが黒線上にあるとき2秒前進する
                           }
                    }
              until(SENSOR_2 == 1);
              OnRev(MOTOR);
              Wait(30);
              Off(MOTOR);
             
            }
 }


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