[[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
 #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