2004/C7/光を追いかけるロボット(必須)

/* 光を追いかけて進むプログラム */
#define act_trace 300
#define turn_right  OnFwd(OUT_A); OnRev(OUT_C);
#define turn_left  OnFwd(OUT_C); OnRev(OUT_A);
#define go_straight  OnFwd(OUT_C); OnFwd(OUT_A);
#define stop Off(OUT_C+OUT_A);
 int max_light;
 int l_1
task main()
{
 /* 定義 */
   SetSensor(SENSOR_2, SENSOR_LIGHT);      /* 2を光センサーと宣言 */
   SetPower(OUT_A,2); SetPower(OUT_C,2);   /* A,Cの出力を2に */ 
   max_light = 0;                          /* 光センサーの最大値を定義 */
max_light = SENSOR_2;
turn_left;
  if(SENSOR_2 >= max_light)
    {l_1 = SENSOR_2; go_stright}
While(Timer(0) <= act_trace)
   {ClearTimer(0);
      if(SENSOR_2 <= l_1)
        {ClearTimer(1);
         turn_left;
            if(Timer(1) > 5)
               {turn_right;}
         until(SENSOR_2 >= l_1);
         go_straight;
         }
    ClearTimer(0);
   }
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-01-28 (金) 19:56:50