2006b/MemberOnly/進行状況A

課題3:光を追いかけるロボット

リンクのページ

光を追いかけるロボット

robotic (21).JPG robotic (22).JPG

robotic (23)#.JPG robotic (24).JPG

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

#define TURN_TIME 700                    //回転時間は700をする

#define G2 392                       //タスク1の音階の周波数を定義する
#define C 523                                  
#define D 587                                  
#define E 659                                  
#define F 698                                  
#define G 784

#define Do 523                           //タスク2の音階の周波数を定義する
#define Do_s 554
#define Re 587
#define Re_s 622
#define Mi 659
#define Fa 698
#define Fa_s 740
#define Sol 784
#define Sol_s 831
#define La 880
#define La_s 932
#define Si 988
#define Do_up 1047
#define Re_up 1175
                                  
task play_music1()                       //喜びの歌の音楽を演奏するプログラム(タクス ミューズ1)                             
{
   while (true){
       PlayTone(E,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(E,60); Wait(65);
       PlayTone(D,15); Wait(20);
       PlayTone(D,30); Wait(35);
       Wait(30);
       
       PlayTone(E,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(D,60); Wait(65);
       PlayTone(C,15); Wait(20);
       PlayTone(C,60); Wait(65);
       Wait(30);
       
       PlayTone(D,30); Wait(35);            
       PlayTone(D,30); Wait(35);             
       PlayTone(E,30); Wait(35);             
       PlayTone(C,30); Wait(35);             
       PlayTone(D,30); Wait(35);             
       PlayTone(E,15); Wait(20);             
       PlayTone(F,15); Wait(20);             
       PlayTone(E,30); Wait(35);             
       PlayTone(C,30); Wait(35);             
       PlayTone(D,30); Wait(35);             
       PlayTone(E,15); Wait(20);             
       PlayTone(F,15); Wait(20);             
       PlayTone(E,30); Wait(35);             
       PlayTone(D,30); Wait(35);             
       PlayTone(C,30); Wait(35);            
       PlayTone(D,30); Wait(35);             
       PlayTone(G2,50); Wait(55);            
       Wait(30);                             
       
       PlayTone(E,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(G,30); Wait(35);
       PlayTone(F,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(C,30); Wait(35);
       PlayTone(D,30); Wait(35);
       PlayTone(E,30); Wait(35);
       PlayTone(D,60); Wait(65);
       PlayTone(C,15); Wait(20);
       PlayTone(C,60); Wait(65);
       Wait(60);
       }
}

task play_music2()                           //大塚愛の「さくらんぼ」の音楽を演奏するプログラム(タクス ミューズ2)
{
 while (true)
 {      PlayTone(La,15);Wait(20);
	PlayTone(Si,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Sol,50);Wait(60);
	PlayTone(Si,25);Wait(30);
	
	PlayTone(Re_up,25);Wait(30);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Fa_s,50);Wait(55);
	PlayTone(Sol,50);Wait(55);
	PlayTone(Sol,15);Wait(20);
	
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Si,25);Wait(30);
	PlayTone(Re,15);Wait(20);
	PlayTone(Re,50);Wait(55);
	PlayTone(Mi,25);Wait(30);
	
	PlayTone(Sol,25);Wait(30);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(Re,15);Wait(20);
	PlayTone(Si,25);Wait(30);
	
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,25);Wait(30);
	PlayTone(Re,15);Wait(20);
	PlayTone(Do,25);Wait(30);
	PlayTone(Re,25);Wait(30);
	PlayTone(Mi,25);Wait(30);
	
	PlayTone(Sol,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(La,15);Wait(20);
	
	PlayTone(La,15);Wait(20);
	PlayTone(Si,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Sol,50);Wait(55);
	PlayTone(Si,15);Wait(20); 
	
	PlayTone(Re_up,25);Wait(30);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Fa_s,50);Wait(55);
	PlayTone(Sol,50);Wait(55);
	PlayTone(Sol,15);Wait(20);
	
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Si,25);Wait(30);
	PlayTone(Re,15);Wait(20);
	PlayTone(Re,50);Wait(55);
	PlayTone(Mi,25);Wait(30);
	
	PlayTone(Sol,25);Wait(30);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(Re,15);Wait(20);
	PlayTone(Si,25);Wait(30);
	
	PlayTone(Do_up,25);Wait(30);
	PlayTone(Si,25);Wait(30);
	PlayTone(La,25);Wait(30);
	PlayTone(Mi,25);Wait(30);
	PlayTone(Sol,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,15);Wait(20);
	PlayTone(La,15);Wait(20);
	PlayTone(Fa_s,15);Wait(20);
	PlayTone(Sol,25);Wait(30);
	Wait(50);
	}
}
task main()
{SetSensor(SENSOR_1,SENSOR_LIGHT);               //センサー1を光センサーに設定
 SetSensor(SENSOR_3,SENSOR_LIGHT);               //センサー3を光センサーに設定
 int light_max,time_max;                         //light_maxとtime_maxを定義する
 ClearTimer(0);                                  //タイマー0をリセット
 start play_music1;                              //喜びの歌の音楽を流す
 while(FastTimer(0)<TURN_TIME)                   //旋回中の行動を設定
 {OnFwd(OUT_A);OnRev(OUT_C);                     //右旋回
  if(SENSOR_1>light_max);                        //light_maxの値より光センサーの値が高いときの行動を設定
  {light_max=SENSOR_1;                           //現在の光センサーの値をlight_maxに設定
   ClearTimer(1);}                               // タイマー1をリセット                                 
   }
  time_max=FastTimer(1);                         //旋回時間をtime_maxに設定
  OnFwd(OUT_C);OnRev(OUT_A);                     //左旋回
  Wait(time_max);
  
 stop play_music1;                               //喜びの歌の音楽を停止
 start play_music2;                              // 「さくらんぼ」の音楽を流す                          
 while(true)
 {OnFwd(OUT_A+OUT_C);                            //前進
  if(SENSOR_1>SENSOR_3)                          //光センサー1の値が光センサー3の値より大きいときの行動を設定
  {Off(OUT_A);OnFwd(OUT_C);                      //旋回して光を探す
   Wait(10);}
  if(SENSOR_3>SENSOR_1)                          //光センサー3の値が光センサー1の値より大きいときの行動を設定
  {Off(OUT_C);OnFwd(OUT_A);                      //旋回して光を探す
   Wait(10);}
  }
}

工夫した点

robotic (26).JPG=========>robotic (25).JPG

robotic6.JPG<======>robotic7.JPG

コメント



添付ファイル: filerobotic7.JPG 304件 [詳細] filerobotic6.JPG 359件 [詳細] filerobotic5.JPG 153件 [詳細] file070112_1333~01.jpg 153件 [詳細] filerobotic (23)#.JPG 338件 [詳細] filerobotic (21).JPG 330件 [詳細] filerobotic (22).JPG 297件 [詳細] filerobotic (24).JPG 325件 [詳細] filerobotic (25).JPG 341件 [詳細] filerobotic (26).JPG 353件 [詳細]

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