[[2006a/B2]] #contents *マシンの構造 [#u35d6d57] **ロボットの外形 [#xf22438a] 今回の課題のロボットは、いつにないほどシンプルです。。光センサーの数は、二つだとたまに変な動きをするのでひとつに。 &ref(oto1.jpg); ←左後ろからみたマシン &ref(oto2.jpg); ←右前からのマシン 今までは小さい方のタイヤが前輪、大きいほうが後輪だったが、今回は逆にしました。 &ref(oto3.jpg); &ref(oto4.jpg); ↑↑光センサーは、マシンのフロント中央部分に設置しました。 *曲は?? [#j181cff4] 自分は音楽経験がないからどうなることになるかと思いきや、たかがピアノ経験者!!ということで曲はまかせます♪ **曲のプログラム [#yea1dd40] 「チューリップ」 製作日:// 06-06-31 製作者:// たか #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,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Do,40);Wait(70); PlayTone(So,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(So,30);Wait(70); PlayTone(Mi,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Do,30);Wait(35); Wait(20); } } *本番プログラム共 [#y06ad2f5] **『チューリップ』を演奏しながら回転して光をさがし回るプログラムです☆★ [#j9957949] 製作日:// 06-07-03 製作者:// Blue たか #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,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Do,40);Wait(70); PlayTone(So,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(So,30);Wait(70); PlayTone(Mi,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Do,30);Wait(35); } } int Light=0; int turn_time=90; task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1が光センサーと宣言 ClearTimer(0); while(Timer(0)<=turn_time) { if(SENSOR_1>Light) { Light=SENSOR_1; } OnFwd(OUT_A); OnRev(OUT_C); } OnFwd(OUT_A); OnRev(OUT_C); start play_music; until(SENSOR_1>=Light); while(true) { if(SENSOR_1<Light) { OnFwd(OUT_A); OnRev(OUT_C); until(SENSOR_1>=Light); } else { OnFwd(OUT_A+OUT_C); stop play_music; until(SENSOR_1<Light); } } } ** 光源に近づきすぎたら停止するプログラム[#ae597f5d] 製作日//: 06-7-03 製作者//: Blue たか #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,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(Do,33);Wait(33); PlayTone(Re,33);Wait(33); PlayTone(Mi,40);Wait(70); PlayTone(So,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Do,30);Wait(30); PlayTone(Re,30);Wait(30); PlayTone(Mi,30);Wait(30); PlayTone(Do,40);Wait(70); PlayTone(So,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(So,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(Ra,30);Wait(35); PlayTone(So,30);Wait(70); PlayTone(Mi,30);Wait(35); PlayTone(Mi,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Re,30);Wait(35); PlayTone(Do,30);Wait(35); Wait(20); } } task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1:光センサー while(true) { start play_music; //音楽を演奏 while(SENSOR_1<60) //明るさが60以下のとき { go_straight; //直進 } while(SENSOR_1>60) //明るさが60より大きいとき { if(SENSOR_1==THRESHOLD) //明るさが100のとき { Off(OUT_A+OUT_C); //停止 } else{stop play_music; //明るさが60より大きく100より小さいとき turn_left; //左旋回 } } } } *考察 [#s9196385] **工夫した点 [#ea12336a] 今回の課題は回転動作が多いので、前輪のタイヤを大きいタイヤにした。それによって、スムーズな回転が実現! 曲を送り込むプログラム作成は、コピー/ペーストが使いやすかったので、自分のwindowsのパソコンで打ち込んだ。 **苦労した点 [#y32f1d21] -光を探すプログラムが全くわからなかった。 ホームページや、プログラミングに強い人に聞きまくって、なんとかかんとか完成。 -光を感知したはずなのに、光を追いかけない 光センサーの値をいじって、なんとか追いかけるようになったが、まだまだ十分とはいえない。 **感想 [#dcf7ffe2] またも時間がなかった。。徹夜で課題二つをこなしたから、結果的にはよかったが、健康面にやや障害が...泣 やはりロボティクスもここまできたら、一筋縄ではいかなくなった。正直しんどい...自分の知能に限界を感じている。 毎回同じようなホームページだなぁと思いつつひたすら打ち込む。色をつけようと試みるが、センスが感じられなかったので、速攻却下! たかの音楽センスには頭が上がらない。。 個人的な事情だが、レポートなど課題をこなすのに精一杯でホームページ制作がかなり先延ばしになってしまった。 先生、TAの方々、ご迷惑をおかけしました↓↓