半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を当てるロボットを製作。
課題2のロボットとほぼ同じ。 http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2Farata%2FMission2
光センサーはRISのうえに取り付けた。
また、ボールがまっすぐ転がるようにするためのブロックを取り付けた。
アームをおろしたとき。
#define short_break Off(OUT_AC);Wait(100); #define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); ClearTimer(0); //0番目のタイマーをリセット int light_max; //整数型の変数を宣言 light_max = 0; //仮の最大値 int time_max; //整数型の変数を宣言 time_max = 0; //価値の最大値を与える時間 int run_time; //整数型の変数を宣言 run_time = 280; //1周するのにかかる時間 OnFwd(OUT_A);OnRev(OUT_C); //反時計回りに回転 while(FastTimer(0)<run_time) //1回転するまで { if(SENSOR_2>light_max) //light_maxの値を超えたら { light_max = SENSOR_2; //light_maxを塗り替える FastTimer(0) = time_max; //time_maxを塗り替える } } short_break; //1周したら1秒休憩 OnRev(OUT_A);OnFwd(OUT_C); Wait(run_time-time_max); //懐中電灯の方向を向く short_break; OnFwd(OUT_AC);Wait(50);clip_on;Wait(10); //シュート Off(OUT_AC); }
今回の課題は前回のをほとんどそのまま使えたのでよかった。
プログラムも難しいところもあったができたと思うので良かった。
これをロボコンに生かしていきたいと思った。