[[2008b/MemberOnly/進行状況A]] *''&size(35){ 課題3: 懐中電灯に向かってブロックを投げるロボットの制作};'' [#q832d3b7] *◇ 目次 ◇ [#c81da1f0] #contents **課題内容 [#gbb357c3] 白いホイールを投げるロボットを作成し、以下の動きをするようにプログラムを作成せよ。 全方向から懐中電灯(固定)の方向を探しだし、手前50cmまで進んで懐中電灯を狙ってブロックを投げる。~ 懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、動きを止めれば50cmの距離まで近づいて懐中電灯を狙ってブロックを投げる。~ 懐中電灯の代わりに携帯のライトなどを利用してもよい。~ ・条件・~ モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。~ ただし、平面的な方向だけでなく懐中電灯の高さまで含めた方向を探す場合にはモータを3個使用してもよい。 **作製ロボの紹介 [#i68661f6] ***工夫点 [#jcdec2a9] **プログラム [#xe0aef90] プログラム名: LIGHT TRACER task main() { SetSensor (SENSOR_1, SENSOR_LIGHT); センサーポート1に光りセンサーを設定 SetSensor (SENSOR_3, SENSOR_LIGHT); センサーポート2に光りセンサーを設定 while (true) 永遠に実行し続ける { OnRev (OUT_A); 条件を満たさなければずっと回り続ける if(SENSOR_1 > 41 ) 光センサーの値が41以上の場合、以下を実行 { OnFwd(OUT_A); 一定時間前進 Wait(15); } if (SENSOR_1 >= 52 ) 光センサーの値が52以上の場合、以下を実行 { OnFwd(OUT_B); モーターをまわして物体を投げる Wait(100); Float(OUT_B); モーターの停止 } } } プログラム2 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT);ライトセンサー 光に反応 OnFwd(OUT_A)前進 if (SENSOR_1 >= 52 )光が大体50センチぐらいに近づくと反応 {Off(OUT_A); 前進停止 OnFwd(OUT_B);ホイール発射 Wait(100); 回転時間 Float(OUT_B);停止 } } 福永 晃 ***工夫点 [#f9e69c06] **◆よろしければコメントをどうぞ◆ [#k36c4272] ***工夫点 [#jcdec2a9] #comment