[[2006b/A3]] *課題3 [#r1e59d97] 懐中電灯などの光源を用意する。まず明るさに比例した周波数の音を出しながら全方角の中から光源のある方角を探し、探した後は、光源の光を追いかけて進むロボットを作成せよ。 *ロボット作成について [#jdfac5b9] *苦労した点&工夫した点 [#y98c646d] *プログラム [#ca62de6e] #define Do 523 #define Re 587 #define Me 659 task play_music1() { while(true) { PlayTone(Do,15); Wait(20); PlayTone(Re,15); Wait(20); PlayTone(Me,30); Wait(40); PlayTone(Re,15); Wait(20); PlayTone(Do,15);Wait(25); PlayTone(Do,13);Wait(18); PlayTone(Re,13);Wait(18); PlayTone(Me,13);Wait(18); PlayTone(Re,13);Wait(18); PlayTone(Do,13);Wait(18); PlayTone(Re,30);Wait(40); Wait(20); } } #define d_ 440 #define re_ 494 #define me_ 523 #define fa_ 587 #define so_ 659 #define ra_ 698 #define si_ 784 #define dd 880 #define ree 988 task play_music2() { while(true) { PlayTone(d_,20);Wait(25); PlayTone(so_,20);Wait(25); PlayTone(fa_,10);Wait(15); PlayTone(me_,10);Wait(15); PlayTone(re_,10);Wait(15); PlayTone(dd,20);Wait(25); PlayTone(so_,20);Wait(25); PlayTone(fa_,10);Wait(20); PlayTone(me_,10);Wait(20); PlayTone(re_,10);Wait(20); PlayTone(dd,20);Wait(25); PlayTone(so_,20);Wait(25); PlayTone(fa_,10);Wait(15); PlayTone(mi_,10);Wait(15); PlayTone(fa_,10);Wait(15); PlayTone(ree,25);Wait(30); Wait(20); } } #define TURN_TIME 400 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); int light_max=0; int time_max=0; ClearTimer(0); OnFwd(OUT_A); OnRev(OUT_C); while (FastTimer(0)< TURN_TIME) { OnFwd(OUT_A);OnRev(OUT_C); start play_music1; light_max=SENSOR_1; if (SENSOR_1> light_max) { light_max=SENSOR_1; time_max=FastTimer(0); } } OnRev(OUT_A);OnFwd(OUT_C); Wait(TURN_TIME - time_max); OnFwd(OUT_A); } } *感想 [#q20453a1]