2004/B6/26班

ハート型を描くロボット

ハート型を描くロボットのプログラム

task main ()
{
 OnFwd(OUT_A+OUT_C);Wait(68);
 OnFwd(OUT_A);Off(OUT_C);Wait(296);
 OnRev(OUT_A);OnFwd(OUT_C);Wait(250);
 OnFwd(OUT_A);Off(OUT_C);Wait(296);
 OnFwd(OUT_A+OUT_C);Wait(110);
 Off(OUT_A+OUT_C);
}

うまくいったようないかないような...

台から落ちないロボット

台から落ちないロボットのプログラム

task main()
{
 SetSensor(SENSOR_1,SENSOR_TOUCH);
 SetSensor(SENSOR_3,SENSOR_TOUCH);
 while(true)
 {
  OnFwd(OUT_A+OUT_C);
  until((SENSOR_1==1)||(SENSOR_3==1));
  OnRev(OUT_A+OUT_C);Wait(100);
  OnFwd(OUT_A);Wait(100);
  OnFwd(OUT_C);
 }
}

"手"が2つついたようなロボットでやりました。片方の手が台から出るとタッチセンサーが反応して少しバックしてから回転し、また前に進むということを繰り返します。 基本に忠実に作り、結構シンプルになりました。バックする時間と回転する時間の調節が難しかったです。

モーター1つでライントレースするロボット

ROBO01.JPG

モーター1つでライントレースするプログラム

#define THRESHOLD 45
#define RUN_TIME 150
task main ()
{
   SetSensor(SENSOR_2, SENSOR_LIGHT);
   ClearTimer(0);
   while ( Timer(0) <= RUN_TIME ) {
       if (SENSOR_2 < THRESHOLD) {
           OnFwd(OUT_A);
       } else {
           OnRev(OUT_A);
       }
   }
}

写真のようにギアを配置して作りました。タイヤの位置関係は最初に作ったローヴァーロボットと同じになっています。なるべく左右対称にしたかったので、モーターの配置も少しこだわりました。
ギアの配置に結構苦労しました。写真は途中のもので、この後モーターと最初の小さいギアの間を強化して空転をなくしました。

光を追いかけるロボット

光を追いかけるロボットのプログラム

音のなるロボット

音のなるロボットのプログラム

#define Doo 1047
#define Ree 1175
#define Mii 1319
#define So 784
#define Ra 880
#define Si 988 
#define Do 523
#define Re 587
#define Mi 659
#define Sso 392
#define Rra 440
#define Ssi 494 
task play_music()
{
   while (true)
   {
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Mii+Mi,35);Wait(40);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Mii+Mi,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ssi+Si,15);Wait(20);
  PlayTone(Rra+Ra,15);Wait(20);
  PlayTone(Ssi+Si,15);Wait(20);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Ssi+Si,15);Wait(20);
  PlayTone(Sso+So,10);Wait(20);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Mii+Mi,35);Wait(40);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Mii+Mi,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Doo+Do,15);Wait(20);
  PlayTone(Ssi+Si,15);Wait(20);
  PlayTone(Rra+Ra,15);Wait(20);
  PlayTone(Ree+Re,15);Wait(20);
  PlayTone(Ssi+Si,15);Wait(20);
  PlayTone(Sso+So,15);Wait(20);
  PlayTone(Doo+Do,15);Wait(20);
    }
}
task main()
{
   SetSensor(SENSOR_1, SENSOR_TOUCH);
   start play_music ;    // 演奏を開始
   OnFwd(OUT_A+OUT_B);   // 前進
   until (SENSOR_1 == 1);
   stop play_music ;     // 演奏を停止
   Off(OUT_A+OUT_B);     // 動きも停止
}

別の講義で扱った曲を作ってみました。はもるようにしようと1オクターブずらした音も混ぜましたが大したことありませんでした。


添付ファイル: fileROBO01.JPG 139件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-21 (月) 15:55:16