**目次 [#s0f07771] #contents *ロボット [#a702964f] **本体 [#d63eb15b] [[課題2:http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2Fsansa%2FMission2]]を参照. 光センサーの位置を変えただけである. **アーム [#k70e913e] ・モーターの横に光センサーを配置.~ ・打ち出すためのガイドを設置.~ #ref(1.jpg) *プログラム [#q4e6b98a] 回転させて光センサーの値が最大のところからタイマーをスタートさせる.~ 一回転し終わったとこまでの時間ぶん反対に回転させる.~ 光の方を向いたらボールを発射させる.~ ~ #define turnT_1 400 //回転する時間 #define turn_search OnFwd(OUT_A); OnRev(OUT_C); Wait(1);//探す方向の回転 #define turn_back OnFwd(OUT_C); OnRev(OUT_A); Wait(FastTimer(1));Off(OUT_AC);//逆回転 task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0);//回転する時間 ClearTimer(1);//探してから終わるまでの時間 int count=0; while(FastTimer(0)<=turnT_1){ if(SENSOR_2>count){//もしセンサーの値が今までの値より高ければ count=SENSOR_2;//countにセンサーの値を代入 ClearTimer(1);//タイマーをリセット } turn_search;//4秒間回る } turn_back;//タイマー(1)の分逆回転 Off(OUT_AC); Wait(100); OnFwd(OUT_B);//ボールを発射 Wait(5); Off(OUT_B); } *反省点と改善点 [#r57d5f30] なかなかうまくいったと思う.~ もっと上手なアームが見つかるとよい.