目次
#contents



*課題 黒い線をトレースするプログラム  [#y4bccc89]

**ロボットの構造の工夫 [#ufd8c21e]


このロボットの雛形は、マインドストームの四輪駆動型ロボットです。


・黒線を太くすることで、センサーの感度を実質的に引き上げました。

・また、前輪と後輪を入れ替えることで機動力を得ます。





**ロボットの基本的なプログラム [#t078adcd]

・光センサーを利用してライントレースのプログラムを書く。

・タッチセンサーを利用した牛乳パックの回避。牛乳パックを運ぶためのプログラムを作る。

・完成。



**それぞれのプログラム [#ob93befe]

***これがハるのプログラムです。 [#q46756d2]

#define THRESHOLD 40

task main()
{
     SetSensor(SENSOR_1,SENSOR_LIGHT);
     SetSensor(SENSOR_3,SENSOR_LIGHT);
     SetSensor(SENSOR_2,SENSOR_TOUCH);

     while(true){
         if(SENSOR_1>THRESHOLD){
                  if(SENSOR_3>THRESHOLD){
                               OnFwd(OUT_A+OUT_C);
                                                  }
                  else{
                               OnFwd(OUT_A);
                               Off(OUT_C);
                            }
                                      }
          else{
                  if(SENSOR_3>THRESHOLD){
                               OnFwd(OUT_C);
                               Off(OUT_A);
                                                  }
                 }
          if (SENSOR_2 == 1)
             {
          OnFwd(OUT_A+OUT_B);
          Wait(100);

          OnRev(OUT_A);
          OnFwd(OUT_C);
          Wait(800);

          
             }

                    }
      
}

***これがカヲルのプログラムです。 [#q848c14c]
   #define THRESHOLD 40

   task main()
   {
     SetSensor(SENSOR_1,SENSOR_LIGHT);
     SetSensor(SENSOR_3,SENSOR_LIGHT);
     SetSensor(SENSOR_2,SENSOR_TOUCH);

     while(true){
         if(SENSOR_1>THRESHOLD){
                  if(SENSOR_3>THRESHOLD){
                               OnFwd(OUT_A+OUT_C);
                                                  }
                  else{
                               OnFwd(OUT_A);
                               Off(OUT_C);
                            }
                                      }
          else{
                  if(SENSOR_3>THRESHOLD){
                               OnFwd(OUT_C);
                               Off(OUT_A);
                                                  }
                 }
          if (SENSOR_2 == 1)
             {
          OnFwd(OUT_A+OUT_B);
          Wait(100);

          OnRev(OUT_A);
          OnFwd(OUT_C);
          Wait(800);

          
             }

                    }
      
      }

#comment

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