2005/B7

☆左チーム☆(げんき&まさき&サイモン)

プログラム

  光チェイスロボット
  int max=0;
  int i=0, i_max;
   sub me ()
   {
         for(i=0; i<=89; i++) {
         OnFwd(OUT_A); // モーターAを正回転 
         OnRev(OUT_C); // モーターCを逆回転
         Wait(5);      
         Off(OUT_A+OUT_C); // 停止
         Wait(1);
         if(SENSOR_1 > max) //センサー1の値がmax以上ならば
       {
         max = SENSOR_1;
         i_max =i;
       }
   }

        OnFwd(OUT_A); // モーターAを正回転
        OnRev(OUT_C); // モーターCを逆回転
        Wait(i_max*10);
        Off(OUT_A+OUT_C); // 停止
        OnFwd(OUT_A+OUT_C); // 前進
   until(SENSOR_1 < max); // センサー1の値がmax以下ならば
   }  
task main ()
   {
 SetSensor(SENSOR_1, SENSOR_LIGHT); // センサー1が光センサーであると宣言
  while(true) {
   me(); 
   
   
   }   
    
   
}

苦労した点

  • 何回か光を追った後に、たまに追いかけるのをやめることなどがあった点
  • 値がわずか違うだけでだいぶ動きが変わってしまった点
  • 値の微調整にかなり時間がかかりました

工夫した点

値の微調整を繰り返してうまくいくよう工夫しました。

反省点

光の微妙な変化でたまにうまくいかない場合があり、まだ完全とはいえません。また、時間がかかりすぎたのも反省点です。

感想

この課題のおかげででもforを使った繰り返しなど、いままで使えなかったプログラムを組めるようになりました。ただ、やはり完全にできなかったのは心残りです。  ロボット写真?  感想?

戻る


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-19 (日) 16:23:38