- 追加された行はこの色です。
- 削除された行はこの色です。
[[2008b]]
*懐中電灯に向かってブロックを投げるロボット [#vb4cf48d]
懐中電灯の50cm手前から懐中電灯に向かってブロックを投げつけるロボットを作成する。
--全方向から懐中電灯の方向を探しだし、懐中電灯の手前50cmまで進んで懐中電灯を狙ってブロックを投げる。懐中電灯は動かさない。
--懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば50cmの距離まで近づいて懐中電灯を狙ってブロックを投げる。
以上の条件を満たすロボットを作成する。
**目次 [#wfbf960a]
#contents
**方針 [#w4062650]
いかにして一つのモーターで正確に標的に近づくか、そしていかにして懐中電灯との距離をとるかを考えて作成する。
**作成の手順 [#yfd09787]
-基礎部分を作成
今までに作ったロボットとは違い、今回はモーター1つのみで走行しなければならないので、今回は付属の説明書の基部を使用せず、本HPに参考として掲載されていた基部の例を利用して作成した。
#ref()
-アームの作成
-アーム(発射台)の作成
#ref()
-工夫点
アーム部分が若干重く強度に不安があったため、板やブロック状のパーツでペンを持つ装置の設置部分を補強した。
#ref()
#ref()
**プログラム [#a115008a]
-その1
-その2
#define THRESHOLD 70
#define RUN_TIME 50
task main ()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
while(true) {
if(SENSOR_3 <THRESHOLD){
OnRev(OUT_A);
}
if(SENSOR_1>THRESHOLD &&SENSOR_3>THRESHOLD){
ClearTimer(0);
while(Timer(0)>= RUN_TIME){
OnFwd(OUT_C);}}
else {
OnFwd(OUT_A);}}
}
**実行結果 [#i81e7790]
-プログラムその1
-プログラムその2
&br;
**その後の改良点 [#fad9a365]
--左右の光センサー間に仕切を設置する事で、左右センサーの値をはっきりと分け、光がどちらから入射しているかという判断をさせやすくした。
#ref()
--発射台を高くする事で、ホイールの飛距離を延ばした。
#ref()
**反省&感想 [#u918e050]
**コメント欄 [#p84396cf]
コメントをお願いします。
#comment
&br;