ウメ
灰猫
上からみたロボット本体です。周りの光の影響を軽減するために屋根をつけました。
正面から見たロボット本体です。中央に緑のついたてがあります。
task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); #define Turn_Time 400 ロボットを回転させる時間です。 int light_M=0,int time_M; 変数を二つ定義します ClearTimer(0); タイマー0をクリアします while(FastTimer(0)<Turn_Time) 回転させている間・・・↓ { OnFwd(OUT_A); OnRev(OUT_C); if(light_M<SENSOR_1) 現時点での光センサーが最大値(変数light_M)より大きかった場合・・・ { light_M=SENSOR_1; 最大値を更新します ClearTimer(1); タイマー1をクリアします } } タイマー1にはこの時点での最大値をとる位置からの回転した時間がはいっています time_M=FastTimer(1); すぐにもう一つの変数にタイマー1の値をいれます OnFwd(OUT_C); OnRev(OUT_A); Wait(time_M); 逆回転させて最大値のところまで戻します while(true) { OnFwd(OUT_A+OUT_C); if(SENSOR_1<SENSOR_3) 右のセンサーのほうが明るい場合・・・ { Off(OUT_C); 左のタイヤを止めます Wait(5); } if(SENSOR_1>SENSOR_3) 左のセンサーのほうが明るい場合・・・ { Off(OUT_A); 右のタイヤを止めます Wait(5); } } }