2006b/A1/課題3左

センサー2個のプログラム

#define TURN_TIME 400
#define left OnRev(OUT_A);OnFwd(OUT_C);
#define go OnFwd(OUT_A+OUT_C);
#define offAC Off(OUT_A+OUT_C);
#define TURN_LIGHT 10
#define turn_go 5
task main()
{

int light_max=0,time_max=0;
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);

start play_music;

ClearTimer(0);OnFwd(OUT_A);OnRev(OUT_C);//タイマーをリセッ  ト、回転をする 
                          
while(FastTimer(0)<TURN_TIME){
      
      if(SENSOR_1>light_max)   //最も強い光を探す
      {
      light_max=SENSOR_1;
      time_max=FastTimer(0);
      }
      }
      OnRev(OUT_A);OnFwd(OUT_C);4秒回った後最も強い光の場所まで逆回転する
      Wait(TURN_TIME-time_max);
       Off(OUT_A+OUT_C);
       
stop play_music;    
      
        
while(true){
     if(SENSOR_1>SENSOR_2)//センサー1よりセンサー2の方が強い光を感知すると
     {
     OnFwd(OUT_C);
     OnRev(OUT_A);       // 右を向く
     Wait(TURN_LIGHT);
     OnFwd(OUT_A+OUT_C);Wait(turn_go); //少し進む
     }
     if(SENSOR_1<SENSOR_2)//センサ−2よりセンサー1の方が強い光を感知したとき
     {
     OnFwd(OUT_A);
     OnRev(OUT_C);    //左を向く
     Wait(TURN_LIGHT);
     OnFwd(OUT_A+OUT_C);Wait(turn_go); //少し進む
     }
    
      
           }
           }
  
 //曲 カノン              
#define Do 523
#define HDo 1047
#define Re 587
#define HRe 1175
#define Mi 659
#define HMi 1319
#define Fa 698
#define So 784
#define Ra 880
#define LRa 440
#define Si 988
#define ma1 25
#define ma2 23
#define ma3 30
#define ma4 45
#define ma5 20
#define ma6 15
#define ma7 25


task play_music()
{
while(true)
{

PlayTone(HMi,ma1);Wait(ma3);
PlayTone(HRe,ma2);Wait(ma3);
PlayTone(HDo,ma2);Wait(ma3);
PlayTone(HDo,ma2);Wait(ma4);

PlayTone(Ra,ma1);Wait(ma3);
PlayTone(So,ma2);Wait(ma3);
PlayTone(Ra,ma2);Wait(ma3);
PlayTone(Si,ma2);Wait(ma4);

PlayTone(HDo,ma1);Wait(ma3);
PlayTone(Si,ma2);Wait(ma3);
PlayTone(Ra,ma2);Wait(ma3);
PlayTone(So,ma2);Wait(ma4);


PlayTone(Fa,ma1);Wait(ma3);
PlayTone(Mi,ma2);Wait(ma3);
PlayTone(Fa,ma2);Wait(ma3);
PlayTone(Re,ma2);Wait(ma4);

PlayTone(Do,ma5);Wait(ma6);
PlayTone(Mi,ma5);Wait(ma6);
PlayTone(So,ma5);Wait(ma6);
PlayTone(Fa,ma5);Wait(ma6);
PlayTone(Mi,ma7);Wait(ma6);
PlayTone(Do,ma7);Wait(ma6);
PlayTone(Mi,ma7);Wait(ma6);
PlayTone(Re,ma7);Wait(ma6);

PlayTone(Do,ma5);Wait(ma6);
PlayTone(LRa,ma5);Wait(ma6);
PlayTone(Do,ma5);Wait(ma6);
PlayTone(So,ma5);Wait(ma6);
PlayTone(Fa,ma7);Wait(ma6);
PlayTone(Ra,ma7);Wait(ma6);
PlayTone(So,ma7);Wait(ma6);
PlayTone(Fa,ma7);Wait(ma6);


}
}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-01-12 (金) 13:50:31