半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を当てるロボットを製作しなさい。 ただし、ピンポン玉を放つ距離は10〜30cmとする。 ロボット本体が懐中電灯に接触しない限りどこからピンポン玉を放ってもよい。
#define RUN_TIME 480 //一周する時間
メインタスク
task main() { int max; //maxを定義 SetSensor(SENSOR_2, SENSOR_LIGHT); //センサー2を光センサーに設定 SetPower(OUT_AC,7); //モーターの出力を7に設定 max=0; //光度の値の変数:一番明るいいところを記憶 ClearTimer(1); //Timer1をリセット
1回転して1番明るいところを探す
while(FastTimer(1) < RUN_TIME){ //FastTimer(1)がRUN_TIME以下の時に繰り返す OnFwd(OUT_C); OnRev(OUT_A); //左に回転 if(SENSOR_2 >= max){ //より明るい所を発見した場合 ClearTimer(0); //Timer(0)をリセット max=SENSOR_2; } //一周する間に一番明るい所がmaxに記憶され、Timer(0)はその地点からスタートする }
逆回転をし一番明るかったところに車体の向きを変える
OnRev(OUT_C); OnFwd(OUT_A); //逆回転 Wait(FastTimer(0)); //一番明るいところまで回転 Off(OUT_C); //一番明るいところで停止
シュートを打つ
OnFwd(OUT_AC); //前進 Wait(50); OnRev(OUT_B); //ボールを発射 Wait(50); Off(OUT_ABC); }
今回の課題は、比較的に早く完成させることができ良かった。 またひとつ技術や知識を得ることができ良かった。次のロボコンの制作に力を入れたい。