[[2005/C1/宇佐美]]
#contents

**ロボット製作者 [#e04ac4e9]
  池尻、宇佐美
*ライントレースするロボット~モーター2個、光センサー1個使用~ [#c6ba4b0e]
**プログラム [#s21aa6f9]
 #define T 40
 
 task main ()
 {
      SetSensor(SENSOR_2,SENSOR_LIGHT);
     
       while (true) {
        if (SENSOR_2 < T) {     //センサーが線の上にある条件             
            OnFwd(OUT_A);
            OnFwd(OUT_A);    //左に曲がる
            Off(OUT_C);
        } else {                //それ以外の条件
        } else {                //それ以外の条件          
            OnFwd(OUT_C);    //右に曲がる
            Off(OUT_A);
            OnFwd(OUT_C);
        }
    }
 }
**感想 [#y19b00a5]
うまくライントレースしてくれた。あっさり出来て、ちょっと嬉しかった。

*ライントレースするロボット~モーター1個、光センサー1個使用~ [#zaba073c]
**ロボットの写真 [#qf9bcb2e]
&ref(2005/C1/光センサー/画像 026.jpg,95%,モーター一個・ギア); 
&ref(2005/C1/光センサー/画像 025.jpg,95%,モーター一個);  
**プログラム [#e7b6ba72]
 #define T 40
 task main()
 {
      SetSensor(SENSOR_2, SENSOR_LIGHT);
       
       while(true) {
        if (SENSOR_2 > T) {    //センサーが線の上にないとき
            OnFwd(OUT_B);
        } 
        if (SENSOR_2 < T)) {   //センサーが線の上にあるとき
            OnRev(OUT_B);
        }
                   }
 }
**感想 [#y0a0ebbc]
モーター1個に苦戦した。作れた!と思ったら、
ギアの構造が先生のヒントと同じような感じだったので、
ちょっと残念だった。
*ライントレースするロボット~モーター2個、光センサー2個使用(前後に設置)~ [#i482f782]
**ロボットの写真 [#w483406f]
&ref(2005/C1/光センサー/画像 024.jpg,95%,モーター二個);
**プログラム [#k8102cb8]
 #define T 40
 task main ()
 {
     SetSensor(SENSOR_1,SENSOR_LIGHT);
     SetSensor(SENSOR_3,SENSOR_LIGHT);
      while (true) {
       if ((SENSOR_1 < T) &&(SENSOR_3 < T)){ 
                              //前後のセンサーが線の上にある条件   
           OnFwd(OUT_A);
           OnFwd(OUT_C);
       } if (SENSOR_1 < T){   //前のセンサーのみ線の上にある条件                  
           OnFwd(OUT_A);
           Off(OUT_C);
       } if (SENSER_1 < T){   //後のセンサーのみ線の上にある条件
           Off(OUT_A);
           OnFwd(OUT_C);
   } 
 }
 }
**感想 [#k2ce5059]
うまくライントレースしなかった。
両方のセンサーが線から離れないと曲がらないようにしたため、
車体の長さの分、線からはみ出すまで進んだ。
結果、ズルをしたり、線から離れるロボットとなった。
*ライントレースするロボット~モーター2個、光センサー2個使用(両方前に線を挟むように設置)~ [#ace261c4]
**プログラム [#a5282cbb]
 #define T 40
 task main()
 {
      SetSensor(SENSOR_1, SENSOR_LIGHT);
      SetSensor(SENSOR_3, SENSOR_LIGHT);
       
       while(true) {
        if ((SENSOR_1 > T)&&(SENSOR_3 > T)){  //センサーが両方線の上にないとき    
            OnFwd(OUT_A+OUT_C);
            Off(OUT_A+OUT_C);
           } 
        if (SENSOR_1 < T) {                   //センサー1が線の上にあるとき
            OnFwd(OUT_A);
            Off(OUT_A);
           }
        else {                                //センサー3が線の上にあるとき
            OnFwd(OUT_C);
            Off(OUT_C); 
           }
                    }
 } 
**感想 [#jcba5cfc]
ちゃんとライントレースした。
モーター1個に挑戦したあとだったので、モーターを2つ使えるのが嬉しかった。
-前後にセンサを付けたロボットは独創的ですね。プログラムをもう少し工夫するときっとちゃんと動くと思います。センサ1つでもちゃんとトレースできるので、それをもう一つのセンサを使ってどのように効率アップできるか…ですね。 -- [[松本(教員)]] &new{2005-12-28 (水) 13:07:46};

#comment



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