[[2004/A6/ロボコン/運ぶロボット/プログラム]]

*初号機のプログラム [#j07b816a]

  #define RUN_TIME 2000
  int move_time;
  task main()
  {
   SetSensor(SENSOR_1,SENSOR_TOUCH);
   SetSensor(SENSER_2,SENSOR_TOUCH);
   SstSensor(SENSER_3,SENSOR_LIGHT);
 
   ClearTimer(0);
 
   while(Timer(0)<=RUN_TIME)//2分間以下を繰り返す
   {
      ClearTimer(1);
      OnFwd(OUT_A);
      until(SENSOR_1==1);//センサーが働くまで前進
      Off(OUT_A); Wait(50);//止まる
    
         if(SENSOR_3>=40)//緑、白の場合
         {
            move_time=Timer(1);
            OnFwd(OUT_C); Wait(50);//紙パックを掴む
            while(SENSOR_2==1)//センサー2が押されている間
            {
               OnFwd(OUT_C);
               OnRev(OUT_A); Wait(50);//回転
               OnFwd(OUT_A); Wait(move_time);//来た分だけ戻る
               Off(OUT_A+OUT_C);//止まって箱を離す
            }
         }
   }
  }

--------

一番最初に出来たものでモーター一つで箱を掴み、上げるロボットとの連結はまだプログラム化されていない。実際やってみるとタッチセンサーがうまく働かなかった...。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS