まだ製作中です。あとはマシンが1回転する時間を測れば完成ですが、ついに電池が切れました。
*最も明るい方向を向くロボット [#z5e6e9fd]
ラインに沿うマシン(まだバラしていない)にモーターを1つ使っているので、センサーは可動式ではなく、マシンごとセンサーが動きます。
 SetSensor(SENSOR_1, SENSOR_LIGHT);
 int L = 0;
 #define turn_time//ここに1回転の時間を入れる
 
 //マシンを回転させるためのサブルーチン
 sub turn (){
           OnFwd(OUT_A);
           OnRev(OUT_C);
         }
 //明るい方向を探すサブルーチン
 sub light (){
           while(Timer(0)<turn_time){  //1回転するまでの間、最も明るい方向を探し続けます。
              if(SENSOR_1>L){
                 L=SENSOR_1;       //Lは最も明るかったときのセンサーの値を入れる変数です。
                 T=Timer(0);       //Tは最も明るかった場所を通過したときの回転開始からの時間を入れる変数です。
              }
           }
            }
 
 task main (){
 turn();       //回転しながら
 ClerTimer(0); 
 light();      //最も明るい方向を探します。
 until(Timer(0)=turn_time);  //1回転するまで
 turn();
 Wait(T); //最も明るい方向まで回転して向きを変えます。
 Off(OUT_A+OUT_C);
-課題をやるときになったらもっと精度が高いプログラムに書き換えられそうです。
*&size(20){コメントはこちらまで}; [#t5e95f5e]
#comment
[[戻る>2005/C6/y0]]
RIGHT:
tya&counter(today);
&counter(yesterday);
&counter(all);
//12月2より

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