課題3 †半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を当てるロボットを製作する。 ロボット †外観 †ロボットの説明 †本体の動きは冊子に乗っているロボットのを使用している。 プログラム †メイン †task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); int lightmax=0; //明るさの最大値 int tmax=0; //一回転をした後、光源の位置に戻るために使用する ClearTimer(0); // OnFwd (OUT_B); //ボールをつかむ while (FastTimer(0)<=360) //最初に一回転するあいだ { OnFwd(OUT_A); OnRev(OUT_C); if(lightmax<=SENSOR_2)//明るさの最大値がセンサーより低いとき { ClearTimer(1);//タイマー1をリセットし時間を計る lightmax=SENSOR_2; //明るさの最大値を光センサーと同じにする } } tmax=FastTimer(1); //tmaxの値をタイマー1と同じにする ClearTimer(0); // while (FastTimer(0)<=tmax) //明るさが最大値の地点に戻る { OnRev(OUT_A); OnFwd(OUT_C); } Off(OUT_A); //これより、停止しピンポン玉をうつ Off(OUT_C); OnRev(OUT_B); Wait(200); Off(OUT_B); } 説明 †まず本体を一回転させる。その間に明るさの最大値があがるごとに、明るさの最大値を更新しそこからの時間を計る。 反省、感想 †前のロボットと構造はあまり変わらないので今までと比べると苦労はしなかった。 |