- 追加された行はこの色です。
- 削除された行はこの色です。
[[2015a/Member]]
*光に向けて球を転がす [#had7a98e]
*光に向けてピンポン球を転がす [#had7a98e]
** ロボットの説明[#c7f84fb2]
**プログラミング [#gb8ca57d]
#define turnT_1 380
#define turn_search OnFwd(OUT_A); OnRev(OUT_C); Wait(turnT_1)
#define turn_backsearch OnFwd(OUT_C); OnRev(OUT_A); Wait(FastTimer(1)); Off(OUT_AC))
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
int count=0;
while(FastTimer(0)<=turnT_1){
if(SENSOR_2>count){
count=SENSOR_2;
ClearTimer(1)
}
turn_search;
}
turn_backsearch;
Off(OUT_AC);
Wait(100);
OnFwd(OUT_B);
Wait(10);
Off(OUT_B);
}
**プログラミングの説明 [#w0e6d686]
#define turnT_1 380
回転する時間、一回転より少し多め
#define turn_search OnFwd(OUT_A); OnRev(OUT_C); Wait(turnT_1)
最初に1周して光を探すことを定義
光を探す際の一回転することを定義
#define turn_backsearch OnFwd(OUT_C); OnRev(OUT_A); Wait(FastTimer(1)); Off(OUT_AC)
探した光に向けて逆回転することを定義
探しだした光に向けて逆回転してその向きに向けることを定義
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
光センサーを設定
ClearTimer(0);
タイマー0を設定
int count=0;
while(FastTimer(0)<=turnT_1){
if(SENSOR_2>count){
count=SENSOR_2;
ClearTimer(1)
一回転ちょっと回るまでの間SENSOR_2が最大値のところからタイマー1を起動して測る。
}
turn_search;
一回転ちょっとする。
}
turn_backsearch;
定義された通り
Off(OUT_AC);
一回転ちょっと回るまでの間で光が一番明るいところで止まるように回転する。
Wait(100);
OnFwd(OUT_B);
Wait(10);
Off(OUT_B);
球を打ち出す。
}
*おわりに [#e0381aa2]