- 追加された行はこの色です。
- 削除された行はこの色です。
[[2007b/MemberOnly/進行状況A]]
-----
CENTER:COLOR(navy):&size(22){課題3:懐中電灯に向かってブロックを投げるロボット};
-----
RIGHT:今日のアクセス数 &counter(today);
RIGHT:総アクセス数 &counter(all);
LEFT:目次
#contents
*課題 [#q0d8c8be]
インストの「top secret」を参考にして、ブロック(一番太いホイール)を投げるロボットを作成し、以下の動きをするようにプログラムを作成せよ。 (重複しないように一人一つ以上のプログラムを作成すること)
1. 全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。
2. 懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む。
3. 懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めればブロックを投げる。
ただし、モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。懐中電灯の代わりに携帯のライトなどを利用してもよい。 →ヒント1 →ヒント2
ただし、モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。懐中電灯の代わりに携帯のライトなどを利用してもよい。
(期限:1月9日午後6時)
*ロボット [#j7174426]
LEFT:&ref(./P1000002.JPG,85%,画像の説明);
LEFT:&ref(./P1000005.JPG,85%,画像の説明);
LEFT:&ref(./P1000006.JPG,85%,画像の説明);
LEFT:&ref(./P1000007.JPG,85%,画像の説明);
LEFT:&ref(./P1000008.JPG,85%,画像の説明);
LEFT:&ref(./P1000003.JPG,85%,画像の説明);
&ref(./P1000004.JPG,85%,画像の説明);
LEFT:&ref(./P1000009.JPG,85%,画像の説明);
&ref(./P1000011.JPG,85%,画像の説明);
&ref(./P1000012.JPG,85%,画像の説明);
*ソースコード [#v33696dc]
**条件:懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む。 [#s85ed835]
task main(){
SetSensor(SENSOR_1, SENSOR_LIGHT);//右側光センサー
SetSensor(SENSOR_3, SENSOR_LIGHT);//左側光センサー
while(1){
if(SENSOR_1<=35&&SENSOR_3<=35){//懐中電灯の光が当てられてないとき
Off(OUT_A);//止まっている
}
else if(-15<=SENSOR_1-SENSOR_3&&SENSOR_1-SENSOR_3<=15){//懐中電灯の光が正面のとき
OnFwd(OUT_A);//直進
Wait(40);
OnRev(OUT_A);
Wait(40);
Off(OUT_A);
}
else if(SENSOR_1-SENSOR_3>15){//右のほうが明るい時
OnFwd(OUT_A);//右に進む
Wait(40);
Off(OUT_A);
}
else{//左のほうが明るい時
OnRev(OUT_A);//左に進む
Wait(40);
Off(OUT_A);
}
}
}
*考察 [#ub276c09]
**苦労した点 [#f2dc2712]
**工夫した点 [#ic16df4a]
ホイールの投げ方はバットで打ち出す形にした。これに依って前方にそして比較的長距離飛ばせるようになった。
*感想 [#xdcd050c]
*コメント [#h0ee0f99]
よろしければコメントお願いします。
#comment