[[2016a/Member]]

#define THRESHOLD 45
#define OnRL(b,c) OnFwd(OUT_B,b);OnFwd(OUT_C,c);
#define go_forward OnRL(50,50);
#define turn_left1 OnRL(25,-25); // 左旋回
#define turn_left0 OnRL(25,0); // 左折
#define turn_right0 OnRL(0,25); // 右折
#define turn_right1 OnRL(-25,25); // 右旋回
#define STEP 1  // 1回の判断で動作させる時間
#define nMAX 120

task main()
{
  SetSensorLight(S3);
  int n=0; 

  while (true) {
    while (n < nMAX) {
      if (SENSOR_3 < 30) {
        turn_left1
        n++;
      } else {
        if (SENSOR_3 < 38) {
          turn_left0
        } else if (SENSOR_3 < 52) {
          go_forward
        } else if (SENSOR_3 < 60) {
          turn_right0
        } else {
          turn_right1
        }
        n=0;
      }
      Wait(STEP);
    }
    Off(OUT_BC); 
    Wait(1000);
    PlaySound(SOUND_UP);
    Wait(2000);
  }
}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS