[[2006a/A3]] *光ロボ [#m397a512] #ref(2006a/A3/課題3右/20060726214915.jpg) #contents *光源を見失った時には曲を演奏しながらぐるっと旋回して光源を探すロボ [#z5eae3d5] 制作者:トミー&Hagino 掲載日:7月21日 task main() { while(true) #define Do 523 //ド #define Re 587 //レ #define Mi 659 //ミ #define Fa 698 //ファ #define So 784 //ソ #define Ra 880 //ラ #define Si 988 //シ task play_music() //きらきら星 { while(true) { PlayTone(Do,30); Wait(35); PlayTone(Do,30); Wait(35); PlayTone(So,30); Wait(35); PlayTone(So,30); Wait(35); PlayTone(Ra,30); Wait(35); PlayTone(Ra,30); Wait(35); PlayTone(So,40); Wait(50); PlayTone(Fa,30); Wait(35); PlayTone(Fa,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Re,30); Wait(35); PlayTone(Re,30); Wait(35); PlayTone(Do,40); Wait(50); } } task main () { SetSensor(SENSOR_1,SENSOR_LIGHT); // while(true) { start play_music; //曲の演奏 while (SENSOR_1 <40) //曲が流れている間光を探すために左に旋回 { turn_left; } while (SENSOR_1 >50) //光を見つけたら { stop play_music; //曲を停止させ go_light; //光を追いかける } } } *光源を見失っていないときにはある曲を演奏し、見失った時には別の曲を演奏しながら光源を探すロボ [#ldb34aad] 掲載日:7月25日 制作者:トミー&Hagino task main() { while(true) #define Do 523 //ド #define Re 587 //レ #define Mi 659 //ミ #define Fa 698 //ファ #define So 784 //ソ #define Ra 880 //ラ #define Si 988 //シ task play_music1() //チャルメラ { while(true) { PlayTone(Do,20); Wait(25); PlayTone(Re,20); Wait(25); PlayTone(Mi,30); Wait(40); PlayTone(Re,20); Wait(25); PlayTone(Do,30); Wait(45); PlayTone(Do,20); Wait(25); PlayTone(Re,20); Wait(25); PlayTone(Mi,20); Wait(25); PlayTone(Re,20); Wait(25); PlayTone(Do,20); Wait(25); PlayTone(Re,40); Wait(55); } } task play_music2() //きらきら星 { while(true) { PlayTone(Do,30); Wait(35); PlayTone(Do,30); Wait(35); PlayTone(So,30); Wait(35); PlayTone(So,30); Wait(35); PlayTone(Ra,30); Wait(35); PlayTone(Ra,30); Wait(35); PlayTone(So,40); Wait(50); PlayTone(Fa,30); Wait(35); PlayTone(Fa,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Re,30); Wait(35); PlayTone(Re,30); Wait(35); PlayTone(Do,40); Wait(50); } } #define light_min 50 //最低光を40 #define light_max 90 //最高光を80 task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); //センサー2を光 while(true) { Off(OUT_A+OUT_C); //センサーに反応なしのとき停止 stop play_music1; stop play_music2; if(SENSOR_2<light_min) //センサー2が最低光より少ないとき { start play_music1; //チャルメラを流す stop play_music2; OnFwd(OUT_A); //右に旋回 OnRev(OUT_C); until(SENSOR_2>light_min); //センサー2が最低光を超えるまで } if((SENSOR_2<light_max)&&(SENSOR_2>light_min)) //センサー2が最低光を超え最高光におよばないとき { stop play_music1; //きらきら星を流す start play_music2; OnFwd(OUT_A+OUT_C); //前進 until((SENSOR_2>light_max)||(SENSOR_2<light_min));//センサー2が最低光より少なくなる、または最高光を超えるまで } } } *工夫したところ [#r9d197e6] ・最低光と最高光を定義して光の幅をつくった点 *反省点 [#k77e00dd] ・簡単な曲しかつくれなかった点 ・完璧に仕上げれなかった点 *感想 [#b4405d54] ・やっぱり曲をつくるのが難しかった。とくに音と音の間隔がいまいちつかめず苦労しました。次はロボコンだからがんばっていこうと思います。 *掲示板 [#bdbd90fd] コメントをどうぞ!! #comment