〜第4回課題〜

光を追うロボット

プログラム

 int i=0,i_max;
 sub turn_left()  //左折(明るい方を向く)
 {if(SENSOR_1>=light_max){OnFwd(OUT_C);
                          Wait(10);
                         }
 }
 sub turn_right()  //右折(明るい方を向く)
 {if(SENSOR_2>=light_max){OnFwd(OUT_A);
                          Wait(10);
                         }
 }
 task main()
 {
   SetSensor(SENSOR_1, SENSOR_LIGHT);
   SetSensor(SENSOR_2, SENSOR_LIGHT);
   for(i=0;i<=50;i++)
   {
     OnFwd(OUT_A);  //明るい方向を探す(その場で回転)
     OnRev(OUT_C);
     Wait(10);
     Off(OUT_A+OUT_C);
     Wait(5);
     if(SENSOR_1>=light_max){
                              light_max=SENSOR_1;
                              PlaySound(0);  //最も明るい方向を向いたときに音を出す
                            }
   }
   OnFwd(OUT_A);
   OnRev(OUT_C);
   until(SENSOR_1>=light_max);
   Off(OUT_A+OUT_C);
   while(true){  turn_left();  //明るい方向へと動き出す
                 turn_right();
                 Off(OUT_A+OUT_C);
                 Wait(10);
              }
 }

感想

光の当て方によってうまくいったりいかなかったりした。

コメントはこちら



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