[[戻る>2005/A6]]

*演奏しながら動くロボットのプログラム (仮)[#l14bf5a5]

**こいぬのマーチ [#e8c84f54]
// 製作日:12月2日
// 製作者代表:ジョニー

#define Do  523
#define Re  587
#define Mi  659
#define Fa  698
#define Sol 784
#define Ra  880

task play_music()   // 音楽を演奏するタスク
{
   while (true)
   {
       PlayTone(Mi,40); Wait(40);  
       PlayTone(Do,20); Wait(40);  
       PlayTone(Mi,40); Wait(40);  
       PlayTone(Do,20); Wait(40);

       PlayTone(Mi,40); Wait(40);
       PlayTone(Sol,15); Wait(40);
       PlayTone(Sol,50); Wait(80);

       PlayTone(Fa,40); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,40); Wait(80);

       PlayTone(Mi,40); Wait(40);
       PlayTone(Do,15); Wait(40);
       PlayTone(Do,40); Wait(85);

       PlayTone(Mi,40); Wait(40);
       PlayTone(Do,20); Wait(40);
       PlayTone(Mi,40); Wait(40);
       PlayTone(Do,20); Wait(40);

       PlayTone(Mi,40); Wait(40);
       PlayTone(Sol,15); Wait(40);
       PlayTone(Sol,50); Wait(80);

       PlayTone(Fa,40); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,40); Wait(40);
       PlayTone(Do,40); Wait(40);
       PlayTone(Mi,40); Wait(40);
       PlayTone(Do,40); Wait(90);
       
       PlayTone(Fa,80); Wait(90);
       PlayTone(Ra,80); Wait(90);
       PlayTone(Sol,80); Wait(90);
       PlayTone(Mi,80); Wait(90);
       
       PlayTone(Fa,40); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,40); Wait(40);
       PlayTone(Do,40); Wait(40);
       PlayTone(Mi,40); Wait(40);
       PlayTone(Sol,40); Wait(80);
       
       PlayTone(Fa,80); Wait(90);
       PlayTone(Ra,80); Wait(90);
       PlayTone(Sol,80); Wait(90);
       PlayTone(Mi,80); Wait(90);
       
       PlayTone(Fa,40); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,15); Wait(40);
       PlayTone(Re,40); Wait(40);
       PlayTone(Do,40); Wait(40);
       PlayTone(Mi,40); Wait(40);
       PlayTone(Do,60); Wait(100);
   }
}

task main()
{
   
    start play_music ;    // 演奏を開始
    OnFwd(OUT_A+OUT_B);   // 前進

    until (SENSOR_1 == 1);
    stop play_music ;     // 演奏を停止
    Off(OUT_A+OUT_B);     // 動きも停止
}

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