#contents
*課題 [#j93a9a51]
半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を当てるロボットを製作。
*ロボット本体 [#i612653d]
課題2のロボットとほぼ同じ。
http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2Farata%2FMission2
光センサーはRISのうえに取り付けた。
#ref(./a.jpg,150%)
また、ボールがまっすぐ転がるようにするためのブロックを取り付けた。
#ref(./no.jpg,150%)
アームをおろしたとき。
#ref(./u.jpg,150%)
*プログラミング [#ib428286]
**定義 [#w349c608]
#define short_break Off(OUT_AC);Wait(100);
#define clip_on OnRev(OUT_B);Wait(10);Off(OUT_B);
**プログラム [#s537a2d9]
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);
}
*感想・考察 [#r3114632]
今回の課題は前回のをほとんどそのまま使えたのでよかった。
プログラムも難しいところもあったができたと思うので良かった。
これをロボコンに生かしていきたいと思った。