[[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]]