[[2015a/MemberOnly]] * 使用したロボ [#hbd63b17] オーソドックスなタイプのロボ先端にアームやセンサーを取り付けた。 #ref(2015a/Member/swimy/Mission3/S__60153858.jpg,50%,ロボット) **アーム [#a9d1178f] モーターBの動きに連動してアームは閉じたり開いたりする。 開くのに合わせてボールを打ち出すようにギアを組み込んだ。 #ref(2015a/Member/swimy/Mission3/S__60153861.jpg,50%,ロボット) #ref(2015a/Member/swimy/Mission3/S__60153862.jpg,50%,ロボット) **センサー [#of0374f5] ボールによってセンサーが隠れることのないようにセンサーは少し高いところに設置した。 #ref(2015a/Member/swimy/Mission3/S__60153863.jpg,50%,ロボット) *プログラム [#e890aed7] task main() { SetSensor(SENSOR_2,SENSOR_LIGHT);//光センサーをスロット2に接続 int turn_time = 380;//1周回る時間を定義 int light_max = 0;//後で数字は変えるのでなんでもいいがとりあえず0を入れておく int time_max; ClearTimer(0); OnFwd(OUT_A);OnRev(OUT_C);//回転 while(FastTimer(0) < turn_time)//1回転するまで繰り返す { if(SENSOR_2 > light_max){ light_max = SENSOR_2;//センサーの値を最大にする time_max = FastTimer(0);//その時の時間を記録する } } Off(OUT_AC);//小休止 OnFwd(OUT_C);OnRev(OUT_A); Wait(turn_time - time_max);//最大を記録したところまで逆回転させる Off(OUT_AC);//小休止 OnFwd(OUT_B);Wait(50);//シュート } *感想 [#t8b05bcd] 光源にピンポン玉をあてることには成功した。 打ち出すことはプログラムで押し出すのではなくしたことで簡単に打ち出すことができるようになった。