はじめに †ラインを辿ってAからBへ移動するプログラムをつくった ロボット † ラインを読み取る光センサーを前側の中央に取り付けた。 結果 † なめらかに動かすまでには至らなかったが一応ゴールまでは到達した。 定義 †#define BLACK 34&br; #define WHITE 60&br; #define LEFT OnFwd(OUT_B,50);OnRev(OUT_C,20); //左に曲がる&br; #define RIGHT OnFwd(OUT_C,50);OnRev(OUT_B,20); //右に曲がる&br; #define nMAX 300 //nMAXは0.3秒&br; #define short_break Off(OUT_BC);Wait(1000) //1秒止まる&br; #define STEP 1 &br; プログラム †task main() { SetSensorLight(S2); //センサーライトを端子2にセット int nOnline=0; // ライン上にある秒数 while(true){ //以下の条件で実行 while(nOnline < nMAX){ //0.3秒以上ライン上にいるとき if (SENSOR_2<BLACK) { //センサーの値がくろのとき LEFT; //左に曲がる } else //条件以外の時 if (SENSOR_2<WHITE) { //センサーの値が白の時 RIGHT; //右に曲がる } nOnline=0; //nOnline=0まで戻る } Wait(STEP); } short_break; nOnline=0; } } 感想 †プログラムを簡単にするのが難しく、{}の中が少し長くなってしまった。 |