2005/B4

ライントレース(モーター1個)

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);
       }
  
 }
  
}
モーター一つの図
  • モーター一つなのでギアとかも工夫しなくてはいけなくて大変だった。
  • モーターの正転、負転にあわせて左右に曲がるようにしました。
  • 上の図が全体図です。
  • waitの間隔調整が難しかった。
  • モーターが一つなのでパワーが足りなくて苦労した。
  • コメントどうぞ
  • ロボットの解説も付けましょう。 -- ゆん(TA)? 2006-01-06 (金) 17:00:09

ライントレース(モーター2個)

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数が鍵です。
  • コメントどうぞ

添付ファイル: file051216_1737~01.jpg 206件 [詳細] file051216_1644~02.jpg 142件 [詳細] file051216_1644~01.jpg 98件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-01-07 (土) 01:05:00 (4971d)