1号試作プログラム†
task main()
{
int count=0; //初期のカウント数は0です
SetPower(OUT_A+OUT_C,6); //モーターの出力を6に設定(出力アップ!)
SetPower(OUT_B,2); //同じく出力を2に設定(少し低め)
SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーに設定
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサ−3を光センサーに設定
SetSensor(SENSOR_2,SENSOR_TOUCH); //センサ−3をタッチセンサーに設定
while(true) //以下の行動を繰り返せ
{
OnFwd(OUT_A+OUT_C); //前進
if((SENSOR_1<45)&&(SENSOR_3<50)) //もし両センサーが黒線を感知したら
{
count++; //カウント数を+1
Wait(50); //少しセンサーを休ませる
}
if(count==2) //もしカウント数が2になったら
{
wait(20); //少しセンサーを休ませる
OnFwd(OUT_A); //90度旋回
OnRev(OUT_C);
Wait(195);
count--; //カウント数を0に戻す。
count--;
}
if(SENSOR_2==1) //タッチセンサーが反応したら
{
Off(OUT_A+OUT_C); //むりやりスタート地点に戻る
OnRev(OUT_B);
Wait(80);
Off(OUT_B);
OnRev(OUT_A+OUT_C);
Wait(250);
OnRev(OUT_C);OnFwd(OUT_A);
Wait(282);
OnFwd(OUT_A+OUT_C);
Wait(500);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(282);
OnFwd(OUT_A+OUT_C);
Wait(200);
Off(OUT_A+OUT_C);
OnFwd(OUT_B);
Wait(80);
OnRev(OUT_A+OUT_C);
Wait(80);
Off(OUT_A+OUT_C);
OnRev(OUT_B);
Wait(80);
OnFwd(OUT_A+OUT_C);
Wait(100);
OnRev(OUT_A+OUT_B);
Wait(350);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(195);
}
}
}
2号試作プログラム†
task main()
{
int count=0; //最初のカウント数は0です
SetPower(OUT_A+OUT_C,6); //モーター出力を6(強め)に設定
SetPower(OUT_B,2); //モーター出力を2(弱め)に設定
SetSensor(SENSOR_1,SENSOR_LIGHT); //−センサーを
SetSensor(SENSOR_3,SENSOR_LIGHT); //−光センサーに設定
SetSensor(SENSOR_2,SENSOR_TOUCH); //センサーをタッチセンサーに設定
while(true) //この行動を繰り返せ
{
OnFwd(OUT_A+OUT_C); //前進
if((SENSOR_1<45)&&(SENSOR_3<50)) //センサーが黒線を感知したら
{
count++; //カウント数を+1
Wait(50); //少しセンサーを休ませる
}
if(count==2) //もしカウント数が2になったら
{
Wait(20); //少しだけそのまま前進
OnFwd(OUT_C); //その後旋回
OnRev(OUT_A);
Wait(100);
count--; //カウント数を0にする
count--;
}
}
}