[[2015a/Member]] *課題3 [#i323c57c] **ハードウェア [#j85cbe50] 基本的な仕様は課題2から変わっていない。光の感知にひつよなセンサーをライントレース用にボトムにつけていたものを前向きに取り付けた。 **ソフトウェア [#sf3cfac1] task main(){ SetSensor(SENSOR_2,SENSOR_LIGHT); int t = 0; int T = 0; int MAX = 0; int i = 0; while(1){ t = FastTimer(0); if(t < 150){ OnFwd(OUT_A); OnRev(OUT_C); if(SENSOR_2 > MAX){ MAX = SENSOR_2; T = FastTimer(0); } }else{ if(i == 2){ PlaySound(SOUND_UP); Off(OUT_AC); Wait(20); OnFwd(OUT_C); OnRev(OUT_A); Wait(150 - T); Off(OUT_AC); OnFwd(OUT_B); Wait(100); OnRev(OUT_AC); Off(OUT_B); Wait(50); Off(OUT_ABC); Wait(9999); }else{ PlaySound(SOUND_UP); Off(OUT_AC); Wait(20); OnFwd(OUT_C); OnRev(OUT_A); Wait(150 - T); OnRev(OUT_AC); Wait(100); Off(OUT_AC); Wait(20); ClearTimer(0); t = 0; T = 0; MAX = 0; i++; } } } } **ソフトウェアの解説 [#wbb71ecf] まず機体を一回転させ、その間光センサーの値が大きくなったタイミングというものをタイマーによって目的の位置を検出をさせ、そこから適正な秒数だけ逆回転させ前進、ある程度進んだところでもう一度同じことをやることにより、精度を高めた。 最終的に一番近づいたところでアームを上げ斜体を前進させることでボールを射出させる