- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006a/C3/課題2右]]
*注意!! [#e12895d5]
自分のプログラムは試作段階なので、中央線のプログラムを見てください。
*反転(光センサーsingle/ver.) [#rc142c9e]
#define THRESHOLD 40 //光の強さを定義
#define TURN_TIME 200 //旋回にかかる時間
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C);
while (true){
if (SENSOR_2 < THRESHOLD){ // 黒線上にいるとき
OnFwd(OUT_A);
Off(OUT_C);
}
else{ // 黒線から外れたとき Off(OUT_A);
OnFwd(OUT_C);
}
}
while(true) //反転するプログラム{
if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){ //片方のセンサーが触れたとき
OnRev(OUT_A+OUT_C); Wait(50)
OnFwd(OUT_A); OnRev(OUT_C);
Wait(TURN_TIME);
}
*回避(光センサーsingle/ver.) [#zffd6b77]
#define THRESHOLD 40 //光の強さを定義
#define TURN_TIME 200 //旋回にかかる時間
task main ()
{
#define THRESHOLD 40 //光の強さを定義
#define TURN_TIME 200 //旋回にかかる時間
task main ()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C);
while (true){
if (SENSOR_2 < THRESHOLD){ // 黒線上にいるとき
OnFwd(OUT_A);
Off(OUT_C);
}
else{ // 黒線から外れたとき Off(OUT_A);
OnFwd(OUT_C);
}
}
while(true) //反転するプログラム{
if ((SENSOR_1 == 1) || (SENSOR_3 == 1)){ //片方のセンサーが触れたとき
OnRev(OUT_A+OUT_C); Wait(50)
OnFwd(OUT_A); OnRev(OUT_C);
Wait(TURN_TIME);