2007a/A10/課題3右
1.全方向から懐中電灯の方向を探して、懐中電灯に向けてブロックを投げるプログラム(担当:こんどー)†
#define TURN_TIME 138 //一回転に要する時間(これはロボットを走らせる場所によって異なる)
sub throw()
{
OnRev(OUT_C);Wait(200);Off(OUT_C);
}
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT); //センサ1を光センサと定義
int time_peak,light_peak=0; //光の明るさの最大値とその時の時間の変数の初期値を0にする
ClearTimer(0); //タイマの値を0にする
OnRev(OUT_A);
while(FastTimer(0)<TURN_TIME) //一周するまでwhileの中を繰り返す
{
if(SENSOR_1>light_peak) //センサ1の値が現在の光の最大値よりも大きい場合
{
light_peak=SENSOR_1; //センサ1の値をlight_peakに代入
time_peak=FastTimer(0); //その時の時間をtime_peakに代入
}}
OnRev(OUT_A);
Wait(time_peak); //光の最大値を記憶したところまで回る
Off(OUT_A);
throw(); //ブロック(ホイール)を投げる
}