[[戻る>2005/A6/課題3]]
[[戻る>2005/A6/課題3]]

*ラインに沿って動くロボットのプログラム [#u523a339]

**センサー2つ モーター2つ用プログラム [#i1c29a33]
#ref(2005/A6/課題3左/sensor-2.jpeg,200%,nolink)
#ref(2005/A6/課題3左/sensor-2.jpeg,200%,nolink)

 // 12月2日
 // コンド・AI・ジョニー 
 // 前輪駆動で、後輪はキャスターにしました
 // 命名:ライトセンサー壱号(兄貴)
 
 #define line 47                // 明暗のおよその境界値
 
 task main()                    // ライトセンサーを使ったプログラム
 {
   SetSensor(SENSOR_1, SENSOR_LIGHT);            // 左側のライトセンサー
   SetSensor(SENSOR_3, SENSOR_LIGHT);            // 右側のライトセンサー
 
   OnFwd(OUT_A + OUT_C);                         // 前進する
 
   while(true)
    {
      if((SENSOR_1 < line) && (SENSOR_3 > line)) // 左センサーがライン上のとき
       {
         OnFwd(OUT_C);                           // 右タイヤが正転
         Off(OUT_A);                             // 左タイヤが停止
         until(SENSOR_1 > line);                 // 両センサーがライン外に出るまで
       }
     
      if((SENSOR_1 > line) && (SENSOR_3 < line)) // 右センサーがライン上のとき
       {
         OnFwd(OUT_A);                           // 左タイヤが正転
         Off(OUT_C);                             // 右タイヤが停止
         until(SENSOR_3 > line);                 // 両センサーがライン外に出るまで
       }
     
      else                                       // 特に問題が無い場合
       {
         OnFwd(OUT_A + OUT_C);                   // 前進する
       }
   
    }
 
 }
**反省 [#bc78dbef]
 ・軽量化によってある程度スピードが出るようになってしまった。
 ・強度面の問題があって、補強に少々苦労した。
 ・最終的に、速く正確に動けるようになった。
#comment

**センサー1つ モーター1つのプログラム [#qb9b1a74]
#ref(2005/A6/課題3左/sensor-1.jpeg,left,200%,nolink) 
#ref(2005/A6/課題3左/sensor-1.jpeg,200%) 

#ref(2005/A6/課題3左/sensor--1.jpeg,right,200%) 

 // 12月2日
 // コンド・AI・ジョニー
 // トップシークレットのギアの組み方をもとにし、タイヤは二輪(前部に支え付)にしました。
 // 命名:ライトセンサー弐号(弟)
 
 #define line 47                // 明暗のおよその境界値
 
 task main()                    // ライトセンサーを使ったプログラム
 {
   SetSensor(SENSOR_2, SENSOR_LIGHT);            // 真ん中のライトセンサー
 
   while(true)
    {
      if(SENSOR_2 < line)                        // 真ん中センサーがライン上のとき
       {
         OnFwd(OUT_B);                           // 左に曲がる
         until(SENSOR_2 > line);                 // センサーがライン外に出るまで
       }
     
       else                                       // その他の場合
       {
         OnRev(OUT_B);                            // 右に曲がる
         until(SENSOR_2 < line);                  // ライン内に入るまで
       }
   
    }
 
 }  
**反省 [#h90b7a11]
 ・ギアの組み合わせは『トップシークレット』を参考にしなければ作れなかった。
 ・意外と速く、正確に動いた。
#comment


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