[[2008a/MemberOnly/進行状況A]]

*目次 [#oc70f701]
#contents

*課題 [#v2854fdb]
懐中電灯の光を探し求め、見つけたらブロックを投げる。光は動かない。
ゆっくり動く懐中電灯の光を追いかける。
ゆっくり動く懐中電灯の光を追いかけて、懐中電灯の動きが止まるとブロックを投げる。
モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。

*ロボットの説明 [#r34040d4]
#ref(./200806121727000.jpg,100%,ロボット);


*プログラムについて [#f6246dda]
プログラム

 #define  THRESHOLD  40     //
 #define  RUN_TIME  1000//
 task main ()
 {
 (SENSOR_1,SENSOR_LIGHT);//センサ端子1に接続されたセンサが光センサ
 SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ端子3に接続されたセンサが光センサ
 SetSensor(SENSOR_2,SENSOR_TOUCH); // センサ端子2に接続されたセンサがタッチセンサ
 ClearTimer(0);
 while( Timer(0) <= RUN_TIME ){
 if (SENSOR_2 == 1)     { //タッチセンサに触れた場合車体が止まる
     Off(OUT_A+OUT_C);
     Wait(300);
   } else { //以外のとき
 
     if (SENSOR_1>35){ //光センサ1が白を感知したとき
        if (SENSOR_3>35){ //光センサ3が白を感知したとき
            OnFwd(OUT_A); //前進
            OnFwd(OUT_C);
         } else { //光センサ3が黒を感知したとき
         if (SENSOR_1<35);
             OnFwd(OUT_A); //右折
             Off(OUT_C);
         }
      } else{ //光センサ1が黒を感知したとき
          if (SENSOR_3>35     ){ //光センサ3が...を感知したとき
             Off(OUT_A); //左折
             OnFwd(OUT_C);
          } else { //光センサ1、3が黒を感知したとき
          Off(OUT_A+OUT_C);//停止
          Wait(50);
          OnFwd(OUT_A+OUT_C);//直進
          Wait(120);
          Off(OUT_A+OUT_C);
               }
             }
             } 
             }     
         Off(OUT_A+OUT_C);      
       }       

*コースについて  [#p42a5df3]
#ref(./200806191728000.jpg,100%,コース);
曲がりやすいようにシンプルなコースにしました。

*問題点  [#rcdf6b33]
色の識別がうまくできず、曲がりたいところで曲がってくれなかった。
タイマーの設定と時間がうまくあわなかった。

*解決策 [#daf848e7]
黒色を濃くして、光センサーの位置も低くした。
タイマーは何回もやり直した。

*感想 [#d76af606]
黒色にそって曲がるところや、3周してから止まるところなど、難しくて結構時間がかかってしまった。
でも前回よりは、スムーズにできたと思います。


*コメントをどうぞ [#dd55719f]

#comment



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