2009a/A8/課題2右

交差点を曲がるプログラム

#define L 44
#define turn_right OnFwd(OUT_A+OUT_C);Wait(40);OnFwd(OUT_A);OnRev(OUT_C); //右に曲がるプログラム
                   Wait(85);OnFwd(OUT_A+OUT_C);Wait(30);
#define turn_left OnFwd(OUT_A+OUT_C);Wait(40);OnFwd(OUT_C);OnRev(OUT_A); //左に曲がるプログラム
                  Wait(90);OnFwd(OUT_A+OUT_C);Wait(30);
#define line_trace if (SENSOR_1>L){                     //ラインをトレースする
                   if(SENSOR_3>L){OnFwd(OUT_A+OUT_C);}
                   else{OnFwd(OUT_A);OnRev(OUT_C);}
                   }
                   else{
                   if(SENSOR_3>L){OnRev(OUT_A);OnFwd(OUT_C);}
                   }                   
int a;   //変数aを定義
task main ()
{
a=0;
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_LIGHT);

while (a<19) {
if((SENSOR_1<L)&&(SENSOR_3<L)){     //光センサーがどちらも黒
if((a==0)||(a==2)||(a==4)||(a==6)||(a==8)||(a==10)||(a==12)||(a==14)||(a==16)||(a==18))  //偶数回のとき
{turn_right;}
else     //奇数回のとき
{turn_left;}
a=a+1;
}
line_trace
}
Off(OUT_A+OUT_C);
}

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-07-03 (金) 17:19:03