2004/B1/28班練習問題/ライントレース
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2004/B1/28班練習問題]]
*ライントレースをするロボット(修正中) [#re0f2081]
なるべく速く動かすために、回転動作を少なくして見ました。~
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT); //光センサーの準備
int a; //直前のカーブでどちらに曲がったか(ラインを探す時間の短縮)を表す関数を導入
a=0; //aの初期設定(初めは右に曲がります)
while(true) //ループするように設定
{
if(SENSOR_2 <= 40) //センサーがラインの上にある
{
OnFwd(OUT_A+OUT_C); //直進
}
else if(a==0) //センサーがラインを外れたとき1(直前のカーブで右に曲がったor初期)
{
ClearTimer(0); //曲がる時間をはかるタイマーをリセットする
until(Timer(0)>1 || SENSOR_2 <= 40) //1秒回転するか、ラインの上に来るまで回転する
{
OnFwd(OUT_A);
OnRev(OUT_C);
}
ClearTimer(0);
until(Timer(0)>2 || SENSOR_2 <= 40) //逆回転
{
OnFwd(OUT_C);
OnRev(OUT_A);
}
a=0;
}
else
{
ClearTimer(0);
until(Timer(0)>1 || SENSOR_2 <= 40)
{
OnFwd(OUT_C);
OnRev(OUT_A);
}
ClearTimer(0);
until(Timer(0)>2 || SENSOR_2 <= 40)
{
OnFwd(OUT_A);
OnRev(OUT_C);
}
a=1;
}
}
}
間違いあり。修正中&br;
作成者&文責 蓮井
終了行:
[[2004/B1/28班練習問題]]
*ライントレースをするロボット(修正中) [#re0f2081]
なるべく速く動かすために、回転動作を少なくして見ました。~
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT); //光センサーの準備
int a; //直前のカーブでどちらに曲がったか(ラインを探す時間の短縮)を表す関数を導入
a=0; //aの初期設定(初めは右に曲がります)
while(true) //ループするように設定
{
if(SENSOR_2 <= 40) //センサーがラインの上にある
{
OnFwd(OUT_A+OUT_C); //直進
}
else if(a==0) //センサーがラインを外れたとき1(直前のカーブで右に曲がったor初期)
{
ClearTimer(0); //曲がる時間をはかるタイマーをリセットする
until(Timer(0)>1 || SENSOR_2 <= 40) //1秒回転するか、ラインの上に来るまで回転する
{
OnFwd(OUT_A);
OnRev(OUT_C);
}
ClearTimer(0);
until(Timer(0)>2 || SENSOR_2 <= 40) //逆回転
{
OnFwd(OUT_C);
OnRev(OUT_A);
}
a=0;
}
else
{
ClearTimer(0);
until(Timer(0)>1 || SENSOR_2 <= 40)
{
OnFwd(OUT_C);
OnRev(OUT_A);
}
ClearTimer(0);
until(Timer(0)>2 || SENSOR_2 <= 40)
{
OnFwd(OUT_A);
OnRev(OUT_C);
}
a=1;
}
}
}
間違いあり。修正中&br;
作成者&文責 蓮井
ページ名: