[[2005/B1]]
*センサー二個で、モーター2個の改良版 [#p5f5cfcc]
 task main ()
 {SetSensor(SENSOR_1, SENSOR_LIGHT);
 SetSensor (SENSOR_3, SENSOR_LIGHT);//セットセンサー
 while(true){
 if(SENSOR_1 >40 && SENSOR_3<40)//センサー1側で光を感知
 {Off(OUT_A+OUT_C);
 OnFwd(OUT_C);//左折
  Off(OUT_A);
  }
 if (SENSOR_3 >40 && SENSOR_1<40)//センサー3側で感知
  {Off(OUT_A+OUT_C);
  OnFwd(OUT_A);//右折
  Off(OUT_C);
  }
  if(SENSOR_1<40 && SENSOR_3<40)//光を探すため回転
  {Off(OUT_A+OUT_C);
  OnFwd(OUT_A);
  OnRev(OUT_C);
  }
  if(SENSOR_1>40 && SENSOR_3>40)//光感知
  {Off(OUT_A+OUT_C);
  OnFwd(OUT_A+OUT_C);//前進
  }
 }
 }

感想 

かなりよく追尾できるようになった。おまけに光を探す動作を追加できた。[[かずひろ>2005/B1/かずひろの学習ノート]]

#comment
*簡単な光を追跡する プログラム モーター2個、センサー1個 [#y2fa2f5d]
 task main ()
 {
    SetSensor(SENSOR_1, SENSOR_LIGHT);//光センサー1を置く
  while (true){
        if (SENSOR_1 >50)//値が50以上になったとき 
 {          OnFwd(OUT_A+OUT_C);//前進
         } else {OnFwd(OUT_A);
         OnRev(OUT_C);//右に回転して光を探す
         
    }
    }
 } 
製作者感想

簡単なプログラムだけどなかなか効果的だと思う -- [[ゆうき]] &new{2005-12-16 (金) 17:40:10};

簡単過ぎていけなかった気もする。m(_!_)m[[かずひろ>2005/B1/かずひろの学習ノート]]
-光源とロボットの距離が一定でない場合に対応できるように、相対的な閾値、つまり他の方角よりも明るい方を探して進む、というようなプログラムにもチャレンジしてみてください。 -- [[松本(教員)]] &new{2006-02-02 (木) 11:11:53};

#comment
*2センサーで、光を追跡するだけのプログラム [#x359c3cf]
 task main ()
 {
    SetSensor(SENSOR_1, SENSOR_LIGHT);
    SetSensor(SENSOR_3, SENSOR_LIGHT);
    while (true){
      if (SENSOR_1 > 50)//センサー1に光反応あり
      {
        OnFwd(OUT_C);//左折
        Off(OUT_A);
      }
      if (SENSOR_3 > 50)//センサー3に光反応あり
      {
        OnFwd(OUT_A);//右折
        Off(OUT_C);
      }
   else//反応なし 
      {
        Off(OUT_A+OUT_C);}
    }
 }
光を探すことはできないが、追跡はなんとかできるという微妙さがあるプログラム。[[かずひろ>2005/B1/かずひろの学習ノート]]
#comment



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS