- 追加された行はこの色です。
- 削除された行はこの色です。
[[2011a]]
*プログラム [#j75d31c6]
#define THRESHOLD 45
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_2, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
repeat ( 3 )
{
OnFwd(OUT_A+OUT_C);
until(SENSOR_2 < THRESHOLD);
until(SENSOR_2 > THRESHOLD);
until(SENSOR_2 < THRESHOLD);
start follow_line; //ライントレースを始める
Wait(150);
stop follow_line; //ライントレースをやめる
OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
//位置に着いたことを知らせる
//ボールを押すまで待つ
OnFwd(OUT_B);Wait(30);//アームを閉じる
OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
start follow_line; //ライントレースを始める
Wait(150);
stop follow_line; //ライントレースをやめる
OnFwd(OUT_C);OnRev(OUT_A); Wait(45);
OnFwd(OUT_A+OUT_C);Wait(100);
start boll_kick; //ゴールを探し、ボールを蹴る
Wait(1000);
stop boll_kick; } //10秒待ってから止める
}
}
task follow_line() //ライントレースのプログラム
{
while(true){
if (SENSOR_2 < THRESHOLD){OnFwd(OUT_A); Off(OUT_C);}
else{OnFwd(OUT_C); Off(OUT_A);}
}
}
task boll_kick() //ゴールを探し、ボールを蹴るプログラム
{
OnFwd(OUT_A);
OnRev(OUT_C);
until(SENSOR_1==SENSOR_3);
OnFwd(OUT_A+OUT_C); Wait(150);
OnRev(OUT_B); Wait(30); //アームを開く
OnRev(OUT_A+OUT_C); Wait(300);
OnFwd(OUT_A);OnRev(OUT_C); Wait(90);
}