写真を撮られる前に解体される運命に… 基本的にはセンサが2個飛び出ている感じでした。
製作者:土佐犬. NRLP. けいすけ.うーじ. 愛称:名前はまだ無い
こんな感じです
光を失ったら回りながらもるだうします
製作者:うーじ. けいすけ. NRLP. 製作日時:7月6日
#define pika 36 //反応するライトの強さ #define zen OnFwd(OUT_A+OUT_C); //前進 #define hidari OnFwd(OUT_C);OnRev(OUT_A); //左回り #define migi OnFwd(OUT_A);OnRev(OUT_C); //右回り //↓音階を定義 #define C 523 //ド #define Cis 554 //ド♯ #define D 587 //レ #define Dis 622 //レ♯ #define E 659 //ミ #define F 698 //ファ #define Fis 740 //ファ♯ #define G 784 //ソ #define Gis 831 //ソ♯ #define A 880 //ラ #define Ais 932 //ラ♯ #define H 988 //シ #define C8th 1047 //1オクターヴ上、ド #define C8thes 1109 //1オクターヴ上、ド♯ task morudau() //モルダウの楽譜 { while(true) { PlayTone(C,20); Wait(20); PlayTone(F,35); Wait(40); PlayTone(G,20); Wait(20); PlayTone(Gis,35); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(C8th,35); Wait(40); PlayTone(C8th,16); Wait(20); PlayTone(C8th,55); Wait(60); PlayTone(C8thes,55); Wait(60); PlayTone(C8thes,55); Wait(60); PlayTone(C8th,90); Wait(100); PlayTone(C8th,18); Wait(20); PlayTone(Ais,38); Wait(40); PlayTone(C8th,18); Wait(20); PlayTone(Ais,38); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(Gis,38); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(Gis,58); Wait(60); PlayTone(G,58); Wait(60); PlayTone(G,58); Wait(60); PlayTone(F,118); Wait(120); Wait(200); } } task main() //仕事始め { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサ1を左ライトセンサとする SetSensor(SENSOR_3,SENSOR_LIGHT); //センサ3を右ライトセンサとする while(true) { if(SENSOR_1<pika&&SENSOR_3>pika) //もし右センサのみ反応したら { stop morudau; //モルダウは演奏せず migi; //右へ回る Wait(11); } if(SENSOR_1>pika&&SENSOR_3<pika) //もし左センサのみ反応したら { stop morudau; //モルダウの演奏はせず hidari; //左へ回る Wait(11); } if(SENSOR_1<pika&&SENSOR_3<pika) //もしセンサ2個とも光を失ったら { while(SENSOR_1<pika||SENSOR_3<pika) //どちらかのセンサが光を失っている間 { start morudau; //モルダウを演奏し migi; //右へ回る Wait(11); until(SENSOR_1>pika||SENSOR_3>pika); //どちらかのセンサが光を得るまで } } if(SENSOR_1>pika&&SENSOR_3>pika) //もし両方のセンサに光が当たっているならば { stop morudau; //モルダウは演奏せず zen; //前進 } } }
直進の時、ロシアンミュージックが流れます
製作者:土佐犬. けいすけ. NRLP. 製作日時:7月6日
#define pika 36 #define zen OnFwd(OUT_A+OUT_C); #define hidari OnFwd(OUT_C);OnRev(OUT_A); #define migi OnFwd(OUT_A);OnRev(OUT_C); #define C 523 #define Cis 554 #define D 587 #define Dis 622 #define E 659 #define F 698 #define Fis 740 #define G 784 #define Gis 831 #define A 880 #define Ais 932 #define H 988 #define C8th 1047 #define C8thes 1109 task morudau() { while(true) { PlayTone(C,20); Wait(20); PlayTone(F,35); Wait(40); PlayTone(G,20); Wait(20); PlayTone(Gis,35); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(C8th,35); Wait(40); PlayTone(C8th,16); Wait(20); PlayTone(C8th,55); Wait(60); PlayTone(C8thes,55); Wait(60); PlayTone(C8thes,55); Wait(60); PlayTone(C8th,90); Wait(100); PlayTone(C8th,18); Wait(20); PlayTone(Ais,38); Wait(40); PlayTone(C8th,18); Wait(20); PlayTone(Ais,38); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(Gis,38); Wait(40); PlayTone(Ais,18); Wait(20); PlayTone(Gis,58); Wait(60); PlayTone(G,58); Wait(60); PlayTone(G,58); Wait(60); PlayTone(F,118); Wait(120); Wait(200); } } ここまでは迷ったらモルダウ.verと同じ task korobu() //コロブチカの楽譜 { while(true) { PlayTone(A,35); Wait(40); PlayTone(E,15); Wait(20); PlayTone(F,15); Wait(20); PlayTone(G,35); Wait(40); PlayTone(A,2); Wait(2); PlayTone(G,3); Wait(3); PlayTone(F,12); Wait(15); PlayTone(E,15); Wait(20); PlayTone(D,35); Wait(40); PlayTone(D,15); Wait(20); PlayTone(F,15); Wait(20); PlayTone(A,35); Wait(40); PlayTone(H,2); Wait(2); PlayTone(A,3); Wait(3); PlayTone(G,12); Wait(15); PlayTone(F,15); Wait(20); PlayTone(E,35); Wait(40); PlayTone(E,15); Wait(20); PlayTone(F,15); Wait(20); PlayTone(G,35); Wait(40); PlayTone(A,35); Wait(35); PlayTone(F,35); Wait(40); PlayTone(D,35); Wait(40); PlayTone(D,75); Wait(80); Wait(80); } } task main() //仕事始め { SetSensor(SENSOR_1,SENSOR_LIGHT); ライトセンサを左右ともセット SetSensor(SENSOR_3,SENSOR_LIGHT); while(true) { if(SENSOR_1<pika&&SENSOR_3>pika) //右センンサ反応で { migi; //右へ回る Wait(11); } if(SENSOR_1>pika&&SENSOR_3<pika) //左センサ反応で { hidari; //左へ回る Wait(11); } if(SENSOR_1<pika&&SENSOR_3<pika) //もしセンサが両方とも光を見失ってしまったら { while(SENSOR_1<pika||SENSOR_3<pika) //センサのどちらかが光を見失っている限り { start morudau; //モルダウを演奏 stop korobu; //コロブチカの演奏を停止 migi; //右へ回る Wait(11); until(SENSOR_1>pika||SENSOR_3>pika); //どちらかのセンサが光を見つけるまで。 } } if(SENSOR_1>pika&&SENSOR_3>pika) //センサが両方とも光を感知している場合 { while(SENSOR_1>pika||SENSOR_3>pika) //センサのどちらかが光を感知している限り { stop morudau; //モルダウの演奏をやめ start korobu; //コロブチカを演奏し zen; //前進 until(SENSOR_1<pika||SENSOR_3<pika); //どちらかのセンサが光を見失うまでは。 } } } }
色々と
演奏がうまくいった時の感動が大きいと思った。
文字だらけ→ロボの行動 となる変化が分かりやすく、興味がより沸いた。
演奏テストをする際、音が大きすぎて恥ずかしかった。