課題ではより高度に仕上がっています。>課題4
ラインに沿うマシン(まだバラしていない)にモーターを1つ使っているので、センサーは可動式ではなく、マシンごとセンサーが動きます。
SetSensor(SENSOR_1, SENSOR_LIGHT); int L = 0; #define turn_time 20 //マシンを回転させるためのサブルーチン sub turn (){ OnFwd(OUT_A); OnRev(OUT_C); } //明るい方向を探すサブルーチン sub light (){ while(Timer(0)<turn_time){ //1回転するまでの間、最も明るい方向を探し続けます。 if(SENSOR_1>L){L=SENSOR_1;} } } task main (){ turn(); //回転しながら ClerTimer(0); light(); //最も明るい方向を探します。 until(Timer(0)=turn_time); //1回転するまで while (true) { turn(); until (SENSOR_1>=L);//最も明るい方向まで回転して向きを変えます。 Off(OUT_A+OUT_C); }