2006b/A1/kuroneko/2nd_robot-t1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2006b/A1/kuroneko]]
衝突後回り込むプログラムです。
#define time 160
sub turn_r() 直角に右へ曲がります。
{
OnRev(OUT_C);
Wait(96);
OnFwd(OUT_C);
}
sub turn_l() 直角に左へ曲がります。
{
OnRev(OUT_A);
Wait(96);
OnFwd(OUT_A);
}
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
OnFwd(OUT_A+OUT_C);
if(SENSOR_1<40) 左のセンサーが黒線の...
{
Off(OUT_A); 左へ大きく少しだけ...
Wait(5);
if(SENSOR_1<40) まだ黒線の上に...
{
OnRev(OUT_A); 左モーターを止...
until(SENSOR_1>40); 左モーターを逆...
}
}
if (SENSOR_3<40) 上の左右逆版です。
{
Off(OUT_C);
Wait(5);
if(SENSOR_3<40)
{
OnRev(OUT_C);
until(SENSOR_3>40);
}
}
if(SENSOR_2==1) 衝突したら・・・
{
OnRev(OUT_A+OUT_C); ちょっとバックします。
Wait(30);
sub turn_r(); 右へ旋回して少し前進。
Wait(time);
sub turn_l(); 左へ旋回して少し前進。
Wait(time);
sub turn_l(); 左へ旋回して前進。こ...
until(SENSOR_1<40); 黒線の上に戻ります。
Wait(40);
sub turn_r();
}
}
}
[[衝突後Uターンするプログラムはこちら。>2006b/A1/kuronek...
終了行:
[[2006b/A1/kuroneko]]
衝突後回り込むプログラムです。
#define time 160
sub turn_r() 直角に右へ曲がります。
{
OnRev(OUT_C);
Wait(96);
OnFwd(OUT_C);
}
sub turn_l() 直角に左へ曲がります。
{
OnRev(OUT_A);
Wait(96);
OnFwd(OUT_A);
}
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
OnFwd(OUT_A+OUT_C);
if(SENSOR_1<40) 左のセンサーが黒線の...
{
Off(OUT_A); 左へ大きく少しだけ...
Wait(5);
if(SENSOR_1<40) まだ黒線の上に...
{
OnRev(OUT_A); 左モーターを止...
until(SENSOR_1>40); 左モーターを逆...
}
}
if (SENSOR_3<40) 上の左右逆版です。
{
Off(OUT_C);
Wait(5);
if(SENSOR_3<40)
{
OnRev(OUT_C);
until(SENSOR_3>40);
}
}
if(SENSOR_2==1) 衝突したら・・・
{
OnRev(OUT_A+OUT_C); ちょっとバックします。
Wait(30);
sub turn_r(); 右へ旋回して少し前進。
Wait(time);
sub turn_l(); 左へ旋回して少し前進。
Wait(time);
sub turn_l(); 左へ旋回して前進。こ...
until(SENSOR_1<40); 黒線の上に戻ります。
Wait(40);
sub turn_r();
}
}
}
[[衝突後Uターンするプログラムはこちら。>2006b/A1/kuronek...
ページ名: