[[2005/B4]]

#contents

* ライントレース(モーター1個) [#ae221d55]
 task main()
 {
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    SetSensor(SENSOR_3,SENSOR_LIGHT);
  while(true)
  {
    if ((SENSOR_1 > 42) && (SENSOR_3 < 42))//左のセンサーが線上
        {
            OnRev(OUT_B); // 左回転
            Wait(15);
        }
    if ((SENSOR_1 < 42) && (SENSOR_3 > 42))//右のセンサーが線上
        {
            OnFwd(OUT_B);// 右回転
            Wait(15);
        }
   
  }
   
 }

#ref(2005/B4/課題3左/051216_1737~01.jpg,モーター一つの図)
#ref(2005/B4/課題3左/051216_1737~01.jpg,モーター一つの図)
-モーター一つなのでギアとかも工夫しなくてはいけなくて大変だった。
-モーターの正転、負転にあわせて左右に曲がるようにしました。
-上の図が全体図です。
- waitの間隔調整が難しかった。
-モーターが一つなのでパワーが足りなくて苦労した。
-コメントどうぞ
-ロボットの解説も付けましょう。 -- [[ゆん(TA)]] &new{2006-01-06 (金) 17:00:09};

#comment

* ライントレース(モーター2個) [#y4158235]

 task main()
 {
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    SetSensor(SENSOR_3,SENSOR_LIGHT);
  while(true)
  {   
    if ((SENSOR_1 > 40) && (SENSOR_3 < 40))//左のセンサーが線上
        {
            OnFwd(OUT_A);// 左回転
            Off(OUT_C);
            Wait(1);
        }
    if ((SENSOR_1 < 40) && (SENSOR_3 > 40))//右のセンサーが線上
        {
            OnFwd(OUT_C);// 右回転
            Off(OUT_A);
            Wait(1)
        }
    if ((SENSOR_1 > 40) && (SENSOR_3 > 40))//両方とも線上だったら
        {
            OnRev(OUT_A+OUT_C);//バックする
            Wait(10)
        }
  }
 }

-光センサー二つなので機敏に反応します。
-モーターも二つなのでWaitが1でも反応します。
-モーター一つではWait1が通用しないのでこっちの方が精度は高いと思います。
-こっちは比較的簡単にできました。
-バックのWait数が鍵です。
-コメントどうぞ
#comment

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