- 追加された行はこの色です。
- 削除された行はこの色です。
[[2008a/MemberOnly/進行状況A]]
*目次 [#oc70f701]
#contents
*課題 [#v2854fdb]
懐中電灯の光を探し求め、見つけたらブロックを投げる。光は動かない。
ゆっくり動く懐中電灯の光を追いかける。
ゆっくり動く懐中電灯の光を追いかけて、懐中電灯の動きが止まるとブロックを投げる。
モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。
*ロボットの説明 [#r34040d4]
#ref(./200806121727000.jpg,100%,ロボット);
*プログラムについて [#f6246dda]
プログラム
#define THRESHOLD 40 //
#define RUN_TIME 1000//
task main ()
{
(SENSOR_1,SENSOR_LIGHT);//センサ端子1に接続されたセンサが光センサ
SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ端子3に接続されたセンサが光センサ
SetSensor(SENSOR_2,SENSOR_TOUCH); // センサ端子2に接続されたセンサがタッチセンサ
ClearTimer(0);
while( Timer(0) <= RUN_TIME ){
if (SENSOR_2 == 1) { //タッチセンサに触れた場合車体が止まる
Off(OUT_A+OUT_C);
Wait(300);
} else { //以外のとき
if (SENSOR_1>35){ //光センサ1が白を感知したとき
if (SENSOR_3>35){ //光センサ3が白を感知したとき
OnFwd(OUT_A); //前進
OnFwd(OUT_C);
} else { //光センサ3が黒を感知したとき
if (SENSOR_1<35);
OnFwd(OUT_A); //右折
Off(OUT_C);
}
} else{ //光センサ1が黒を感知したとき
if (SENSOR_3>35 ){ //光センサ3が...を感知したとき
Off(OUT_A); //左折
OnFwd(OUT_C);
} else { //光センサ1、3が黒を感知したとき
Off(OUT_A+OUT_C);//停止
Wait(50);
OnFwd(OUT_A+OUT_C);//直進
Wait(120);
Off(OUT_A+OUT_C);
}
}
}
}
Off(OUT_A+OUT_C);
}
*コースについて [#p42a5df3]
#ref(./200806191728000.jpg,100%,コース);
曲がりやすいようにシンプルなコースにしました。
*問題点 [#rcdf6b33]
色の識別がうまくできず、曲がりたいところで曲がってくれなかった。
タイマーの設定と時間がうまくあわなかった。
*解決策 [#daf848e7]
黒色を濃くして、光センサーの位置も低くした。
タイマーは何回もやり直した。
*感想 [#d76af606]
黒色にそって曲がるところや、3周してから止まるところなど、難しくて結構時間がかかってしまった。
でも前回よりは、スムーズにできたと思います。
*コメントをどうぞ [#dd55719f]
#comment