- 追加された行はこの色です。
- 削除された行はこの色です。
[[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