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