◇課題3『光を追いかけるロボット』

  1. 光源を見失った時には曲を演奏しながらぐるっと旋回して光源を探す
  2. 光源を見失った時には明るさに比例した周波数の音を出しながら旋回して光源を探す
  3. 光源を見失っていないときにはある曲を演奏し、見失った時には別の曲を演奏しながら光源を探す
  4. 上記のいずれかに『光源に近づき過ぎると停止する』という機能を追加する

プログラム

制作者/takumi&kaz
#define turn_right OnFwd(OUT_A);OnRev(OUT_C);
#define turn_left OnFwd(OUT_C);OnRev(OUT_A);
#define go_straight OnFwd(OUT_A+OUT_C)
#define light 50
#define Sol 392
#define Do 523
#define Re 587
#define Mi 659
task play_music() //学校のチャイム
{
   while (true)
    {
     PlayTone(Do,50);Wait(35);
     PlayTone(Mi,50);Wait(35);
     PlayTone(Re,50);Wait(35);
     PlayTone(Sol,80);Wait(70);
     
     PlayTone(Do,50);Wait(35);
     PlayTone(Re,50);Wait(35);
     PlayTone(Mi,50);Wait(35);
     PlayTone(Do,80);Wait(70);
     
     PlayTone(Mi,50);Wait(35);
     PlayTone(Do,50);Wait(35);
     PlayTone(Re,50);Wait(35);
     PlayTone(Sol,80);Wait(70);
     
     PlayTone(Sol,50);Wait(35);
     PlayTone(Re,50);Wait(35);
     PlayTone(Mi,50);Wait(35);
     PlayTone(Do,80);Wait(70);
    }
}
task main(){
int max_right,time_max;
	SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーと定義
	SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ−3を光センサーと定義
	 while(true){
		if(SENSOR_1>light&&SENSOR_3<light){ //左側のセンサーが反応
  turn_left; //左回転  
  Wait(10);
 }
	 if(SENSOR_1<light&&SENSOR_3>light){	//右側のセンサーが反応
  turn_right; //右回転        
  Wait(10);
 }
	 if(SENSOR_1<light&&SENSOR_3<light){ //両方のセンサーが反応しない
	 start play_music; //音楽スタート
 while(SENSOR_1<light||SENSOR_3<light){//両方のセンサーが反応するまで…
  turn_left //左回転       
  Wait(10);	
	  until(SENSOR_1>light||SENSOR_3>light);
	 stop play_music; //音楽ストップ    		
 }
 }
	 if(SENSOR_1>light&&SENSOR_3>light){ //両方のセンサーが反応
	 go_straight;	//直進
 }
 }
 }

苦労した点とその解決

先生のプログラムをあまり参考にしなかったところ、始めは何をしたらよいかわからなく、途方に暮れていましたが、昔のグループの「タッチセンサーの光版と考えれば…」という記述を見て、そのように制作してみたところ、結構上手に完成しました。 次に苦労したのは、光を探している間、曲が流れるところで、なかなか上手くいかなかったけれど、「start play_music」と「stop play_music」の位置を変えているうちになんとか解決。どうやらストップの位置が悪かったようだ。

工夫した点

どんなロボットか

外見はこのように今までで一番シンプルです。
R0011388.JPG
スイッチ....
R0011395.JPG

オン!!

R0011397.JPG

↑上の写真で赤く光ったところが光センサーです。

そして下の画像のように光(懐中電灯など..)に反応してカエルの合唱の唄を歌いながら光を追いかけるように動きます。
R0011391-3.JPG

反省/感想

コメントをどうぞ



添付ファイル: fileR0011391-3.JPG 248件 [詳細] fileR0011397.JPG 257件 [詳細] fileR0011395.JPG 255件 [詳細] fileR0011388.JPG 253件 [詳細]

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