[[戻る>2005/A6]] * 演奏するロボットと曲に合わせて踊るロボットのプログラム [#ndd470e4] #ref(2005/A6/課題5/animal.jpeg.jpg,100%,center) &size(40){&color(red){犬};・&color(blue){ねずちゅー};・&color(green){ネコ};}; **スケーターズワルツ [#ud6526a0] // 製作日:12月2日 // 製作者:ジョニー // 製作者:AI #define Do 523 #define Re 587 #define Mi 659 #define Fa 698 #define So 784 #define Ra 880 #define Si 988 #define Doo 1047 #define Ree 1175 task play_music() { while(true){ PlayTone(Mi,120);Wait(120); PlayTone(So,80);Wait(80); PlayTone(Ra,40); Wait(45); PlayTone(Ra,240);Wait(245); PlayTone(Fa,120);Wait(120); PlayTone(Ra,80);Wait(80); PlayTone(Si,40);Wait(45); PlayTone(Si,240);Wait(245); PlayTone(Ree,120);Wait(120); PlayTone(Doo,80);Wait(80); PlayTone(Mi,40);Wait(45); PlayTone(So,120);Wait(120); PlayTone(Fa,80);Wait(80); PlayTone(Mi,40);Wait(45); PlayTone(Mi,120);Wait(120); PlayTone(Re,120);Wait(120); PlayTone(Do,150);Wait(160); PlayTone(So,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(So,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(So,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(So,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Doo,15);Wait(20); PlayTone(So,40);Wait(40); PlayTone(Si,30);Wait(40); PlayTone(Si,40);Wait(40); PlayTone(So,40);Wait(40); PlayTone(Si,30);Wait(40); PlayTone(Si,40);Wait(40); PlayTone(So,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(So,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(So,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(Ra,15);Wait(20); PlayTone(Ree,15);Wait(20); PlayTone(So,40);Wait(40); PlayTone(Doo,30);Wait(40); PlayTone(Doo,40);Wait(40); PlayTone(So,40);Wait(40); PlayTone(Doo,30);Wait(40); PlayTone(Doo,40);Wait(40); } } **演奏、指揮をするロボットのプログラム [#d29bc417] &ref(2005/A6/課題5/cat.jpeg.jpg,100%,left); &ref(2005/A6/課題5/rat.jpeg.jpg,100%,right); &size(30){左&color(green){ネコ}; 右&color(blue){ねずちゅー};}; ネコは音楽に合わせて尻尾を左右に振ります。 ねずちゅーは音楽にあわせて左右に回転します。 // 製作日:1月6日 // 製作者:A6員(主にA6L) // ネコ型ロボットと、ネズミ型ロボットの二つを製作しました。 #define music_time 2400 task main() { ClearTimer(0); // Timer(0)をリセットする start play_music; // 演奏を開始 while(Timer(0) <= music_time) { OnFwd(OUT_A + OUT_C); // 尻尾、ねずちゅーが右に動く SendMessage(1); // Message(1)を送る Wait(150); // 1.5秒間待つ OnRev(OUT_A + OUT_C); // 尻尾、ねずちゅーが左に動く Wait(150); // 1.5秒間待つ OnFwd(OUT_A + OUT_C); // 尻尾、ねずちゅーが右に動く SendMessage(2); // Message(2)を送る Wait(150); // 1.5秒間待つ OnRev(OUT_A + OUT_C); // 尻尾、ねずちゅーが左に動く Wait(150); // 1.5秒間待つ } SendMessage(3); // Message(3)を送る stop play_music ; // 演奏を停止 Float(OUT_A+OUT_B); // 動きも停止 } ** 曲に合わせて踊るロボットのプログラム [#hd0da71d] #ref(2005/A6/課題5/dog.jpeg.jpg,100%,center); &size(30){&color(red){犬};}; 犬は音楽に合わせて両足(四足とも)を上下させ、左右回転します。 尻尾はずっと振り続けます。 // 製作日:1月6日 // 製作者:A6員(主にA6R) // 犬型のロボットを作るのにかなり時間が掛かってしまった。 #define first OnRev(OUT_A+OUT_B);OnFwd(OUT_C); #define second OnFwd(OUT_A+OUT_B);OnRev(OUT_C); #define fin Float(OUT_A+OUT_B+OUT_C); task main() { while (true) { ClearMessage(); // Message() を 0 に設定 until (Message() != 0); // Message() に 0 以外の値が入るまで待つ if ( Message() == 1 ) first; // 1 を受信したときには右に回りながら前足・後ろ足が上がる if ( Message() == 2 ) second; // 2 を受信したときには左に回りながら前足・後ろ足が下がる if ( Message() == 3 ) fin; // 3 を受信したときには止まる } } **反省 [#i35f6eb1] ・信号の送受信がうまくいかなくて時間が掛かり、苦労した。 ・ねずちゅーのギアはトップシークレットのギア配置を元に、さらに最小化させた。 苦労したがスピードも馬力もあるものが出来た。 #comment