谷さ〜〜〜ん。どんだけ〜〜〜1号
小谷口 貴
滝本 剛史
・全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。
・懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む。
・懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めればブロックを投げる。
#define THRESHOLD 50 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); while (true) { if ((SENSOR_1 > THRESHOLD) || (SENSOR_3 > THRESHOLD)) //センサー1または //センサー3が反応中 { Off(OUT_A);Wait(500);//モーターを止める OnRev(OUT_C);Wait(30);//投げる Off(OUT_C);//止める } else//センサーが反応していないとき { OnFwd(OUT_A);Wait(150);// Off(OUT_A); OnRev(OUT_A);Wait(300); } } }
#define THRESHOLD 47 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーと定義 SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3を光センサーと定義 while(true) { if((SENSOR_1 <THRESHOLD)&&(SENSOR_3 <THRESHOLD))//もしセンサー1、3が閾値した値より小さいなら { OnFwd(OUT_A);//右に回って光を探す } if((SENSOR_1 >=THRESHOLD))//もしセンサー1が閾値した値より大きいなら { OnRev(OUT_A);//左に回って光を追いかける } if((SENSOR_3 >=THRESHOLD))//もしセンサー3が閾値した値より大きいなら { OnFwd(OUT_A);//右に回って光を追いかける } } }
#define THRESHOLD 47 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーとする SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3を光センサーとする while(true) { if((SENSOR_1 <THRESHOLD)&&(SENSOR_3 <THRESHOLD))//センサー1、3が閾値した値より小さい//なら { OnFwd(OUT_A);//右に旋回 } if((SENSOR_1 >=THRESHOLD)//センサー1が閾値した値より大きいなら { OnRev(OUT_A);//左に回る } else//そうでなければ { OnFwd(OUT_A);右に回る } if((SENSOR_1 >=THRESHOLD)&&(SENSOR_3 >=THRESHOLD))//せんさ−1と3が閾値 した値より大きいなら { Off(OUT_A);Wait(500);//Aのモーターを止める OnRev(OUT_C);Wait(30);//投げる } } }
一番苦労したところは前輪です。
最初は四輪で進むロボットを作ろうと思っていました。
しかし、前輪の抵抗が大きいためか、スムーズに曲がらなかった。
そこで、前輪をなくして棒で支えるロボットを作った。
しかし、曲がるときに床に引っかかったり、
動きがまばらになったりした。
最終的に、小回りもスムーズにいくタイヤを作った。
これは、動きも最高になった。
遠投するための部分にはとてつもない時間をかけて、
何パターンも研究しました。
パーツの輪ゴムを使ったものなども考えたのですが、
最終的にはロボットの後ろから前に飛ばすようにするのが
一番飛距離が出ることがわかりました。
それからも、角度や長さなどいろいろ研究してこの形になりました。
今回のロボットは「他にはない個性的なものを作ろう!」を目標に、
あえて、後輪に一番大きなタイヤを作ったり、
羽根など付けてみました。
プログラム面では、「 || や && 」を使うことを思いつかなくてとても苦労しました。
しかし、このことに気がついてからは案外スムーズに進んでくれました。
とてつもなく遠投のできるロボットを作ろうと思いかなりの時間を費やした。 だけど、なかなか思いどうりに行かなかった。 今回の課題は今までで一番苦労した。 だけど、なんか自分たちで一から作ってる感があり、よかった。