今回の課題のロボットは、いつにないほどシンプルです。。光センサーの数は、二つだとたまに変な動きをするのでひとつに。 ということで今回は(も?)マシン製作にはじかんがかかりませんでした。
今までは小さい方のタイヤが前輪、大きいほうが後輪だったが、今回は逆にしました。
この決定が割と功を奏しました。
↑↑光センサーは、マシンのフロント中央部分に設置しました。
自分は音楽経験がないからどうなることになるかと思いきや、たかがピアノ経験者!!ということで曲はまかせます♪
任せたのはいいが、授業時間内に全部打ち込むことが出来ずに 家でたかにやってきてもらう事に。
「チューリップ」 製作日:// 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); } }
製作日:// 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) //センサー1が光を感知 { Light=SENSOR_1; } OnFwd(OUT_A); //モータAを正回転 OnRev(OUT_C); //モータCを逆回転 } OnFwd(OUT_A); //モータAを正回転 OnRev(OUT_C); //モータCを逆回転 start play_music; //光を見つけるまで音楽を流し始める until(SENSOR_1>=Light); while(true) { if(SENSOR_1<Light) //センサー1が光からはずれたら { OnFwd(OUT_A); //モータAを正回転 OnRev(OUT_C); //モータCを逆回転 until(SENSOR_1>=Light);//光を見つけるまで } else { OnFwd(OUT_A+OUT_C); //光から外れていなかったら stop play_music; //音楽を止める until(SENSOR_1<Light);//光からはずれるまで } } }
製作日//: 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; //左旋回 } } } }
1、今回の課題は回転動作が多いので、前輪のタイヤを大きいタイヤにした。それによって、スムーズな回転が実現!
これはそう狙って作った訳ではなく、走らしたらたまたまタイヤの大きい方が前輪になっただけである。。。
2、曲を送り込むプログラム作成は、コピー/ペーストが使いやすかったので、自分のwindowsのパソコンで打ち込んだ。
Macには右クリックがなく、コピペするのにいちいちマウスを動かすのがうっとうしかったからである。。。
ホームページや、プログラミングに強い人に聞きまくって、なんとかかんとか完成。C4の人にTimerの意味を教えてもらった。
光センサーの値をいじって、なんとか追いかけるようになったが、まだまだ十分とはいえない。
またも時間がなかった。。徹夜で課題二つをこなしたから、結果的にはよかったが、健康面にやや障害が...泣
やはりロボティクスもここまできたら、一筋縄ではいかなくなった。正直しんどい...自分の知能に限界を感じている。
毎回同じようなホームページだなぁと思いつつひたすら打ち込む。色をつけようと試みるが、センスが感じられなかったので、速攻却下!
たかの音楽センスには頭が上がらない。。
個人的な事情だが、レポートなど課題をこなすのに精一杯でホームページ制作がかなり先延ばしになってしまった。 先生、TAの方々、ご迷惑をおかけしました↓↓