2006a/B2

マシンの構造

ロボットの外形

今回の課題のロボットは、いつにないほどシンプルです。。光センサーの数は、二つだとたまに変な動きをするのでひとつに。 ということで今回は(も?)マシン製作にはじかんがかかりませんでした。

oto1.jpg ←左後ろからみたマシン

oto2.jpg ←右前からのマシン

今までは小さい方のタイヤが前輪、大きいほうが後輪だったが、今回は逆にしました。

この決定が割と功を奏しました。

oto3.jpg oto4.jpg

↑↑光センサーは、マシンのフロント中央部分に設置しました。

曲は??

自分は音楽経験がないからどうなることになるかと思いきや、たかがピアノ経験者!!ということで曲はまかせます♪

任せたのはいいが、授業時間内に全部打ち込むことが出来ずに 家でたかにやってきてもらう事に。

曲のプログラム 

「チューリップ」

製作日:// 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には右クリックがなく、コピペするのにいちいちマウスを動かすのがうっとうしかったからである。。。

苦労した点

感想

またも時間がなかった。。徹夜で課題二つをこなしたから、結果的にはよかったが、健康面にやや障害が...泣

やはりロボティクスもここまできたら、一筋縄ではいかなくなった。正直しんどい...自分の知能に限界を感じている。

毎回同じようなホームページだなぁと思いつつひたすら打ち込む。色をつけようと試みるが、センスが感じられなかったので、速攻却下!

たかの音楽センスには頭が上がらない。。

個人的な事情だが、レポートなど課題をこなすのに精一杯でホームページ制作がかなり先延ばしになってしまった。 先生、TAの方々、ご迷惑をおかけしました↓↓



添付ファイル: fileoto4.jpg 337件 [詳細] fileoto3.jpg 329件 [詳細] fileoto2.jpg 361件 [詳細] fileoto1.jpg 297件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-26 (土) 21:00:13