2005/A2/課題4

作成者

とーます レタス

プログラム

int l_max=0;
int r_time=30;//最初の1回転の時間
int t_time=0;//次に回る時間
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
repeat(30){
while (Timer(0)<=r_time){
 if(SENSOR_1 > l_max){
   l_max=SENSOR_1;
   t_time=Timer(0);
}
 OnFwd(OUT_A);
}
 ClearTimer(0);
 while (Timer(0)<=t_time){
 OnFwd(OUT_A);
}
 OnFwd(OUT_C);
 Wait(10);
}
Off(OUT_A+OUT_C);
}

説明

最初の1回転で数値の高い光源の位置を時間で記憶して、
2周目でそっちの方向を向いて走るようにしました。

感想

最初は代数を使ったプログラムを作っていたけど、
3脚の縦型のロボットだったので回転が早いと倒れてしまうので、
2周目で前進させるためにタイマーに再挑戦した。
1周にかかる時間が毎回変るため、光源と少しずれた方向に進んでしまうところが問題点です。

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