[[2005/B7]]

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

*プログラム [#lea496d8]

   光チェイスロボット

   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(); 
    
    
    }   
     
    
 }



*苦労した点 [#wa66d0cf]
-何回か光を追った後に、たまに追いかけるのをやめることなどがあった点
-値がわずか違うだけでだいぶ動きが変わってしまった点
-値の微調整にかなり時間がかかりました
*工夫した点 [#rb33da95]
値の微調整を繰り返してうまくいくよう工夫しました。
*反省点 [#x5f91293]
光の微妙な変化でたまにうまくいかない場合があり、まだ完全とはいえません。また、時間がかかりすぎたのも反省点です。
*感想 [#dbcbc08d]
この課題のおかげででもforを使った繰り返しなど、いままで使えなかったプログラムを組めるようになりました。ただ、やはり完全にできなかったのは心残りです。
 [[ロボット写真>2005/B7/課題4写真(左チーム)]]
 [[感想>2005/B7/課題4感想(左チーム)]]

[[戻る>2005/B7]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS