目次
1. 全方向から懐中電灯の方向を探しだし、懐中電灯を狙ってブロックを投げる。方向を定めたのち、 懐中電灯の30cm以内に近づかない範囲で必要な距離を移動してもよい。懐中電灯は動かさないが、 いろいろな距離や方向にある懐中電灯に対応できるロボットにすること
今回は、モーターを二つしか使えないってことで、上の写真のような ディファレンシャルギアとゆうものを使います。
まずギアの部分は、下の写真のように組み立てます。
あとは、車体を創って、タイヤをつけます。
ここで、 右側のギアのつけ方と左側のつけ方が異なるのと、 右、左のストッパーのつけ方に、注目すると、
1)右側のギア
2)左側のギア
3)右側のストッパー
4)左側のストッパー
また、 後ろの車輪を見ると、
これは、レゴの、マニュアルに書いてあったものを若干アレンジしたものです。
さらに!、 ホイールを投げる肝心なパーツを紹介します。 ロケットパンチってゆうものから閃いて創りました。
モーターにつながるでかいギアが時計回りすると、
ホイールを固定していた棒が、抜けてロケットパンチ発射!です。
今回もロボットのヴィジュアル面に気合を入れて創ってみました。
やっぱり、モーターを縦につなげて創ったのと、 ホイールを投げる仕組みが工夫した点です。
モーターを縦につなごうとしたのは、「ただ、みんなと違うふうにしたいなぁ」って 思ったからですが、
ロケットパンチは、 なんか、投石器みたいな仕組みで飛ばしたとき、どうも飛んでくれなくて、困ってまして、「輪ゴムで飛ばせたらいいなぁ」と思ったことから創ってみました。
#define THRESHOLD 50 //閾値 #define MAX 65 #define GO OnRev(OUT_A); Wait(10); Float(OUT_A); Wait(10); OnFwd(OUT_A); Wait(10); Float(OUT_A); Wait(10); Off(OUT_A); task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1は光センサー SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3は光センサー Int move_count = 0; //変数に0を代入 while(move_count == 0){ //変数が0の間 if((SENSOR_1<THRESHOLD) || (SENSOR_3<THRESHOLD)) //値が49以下のとき {OnRev(OUT_C);} //その場で回転する if( (SENSOR_1>=THRESHOLD)&&(SENSOR_1<MAX) )||( (SENSOR_3>=THRESHOLD)&& (SENSOR_3<MAX) ) { { while(((SENSOR_1>=THRESHOLD)&&(SENSOR_1<MAX))||((SENSOR_3>=THRESHOLD)&&(SENSOR_3<MAX))) { GO; //値が50以上、65未満の時ジグザグに前へ進む until(((SENSOR_1>= 53)||(SENSOR_3>= 53)); until((SENSOR_1>=MAX)||(SENSOR_3>=MAX))); }} if ((SENSOR_1>MAX) || (SENSOR_3>MAX)) //値が65以上の時 {Off(OUT_C);Wait(30);OnFwd(OUT_A); //センサー1とセンサー3が65以上になるまで車体前方を持ち上げる until((SENSOR_1>MAX)&&(SENSOR_3>MAX)); Off(OUT_A);Wait(50);OnRev(OUT_B);Wait(50);Off(OUT_B);Float(OUT_A); //トリガーが引かれタマが飛ぶ (move_count);move_count = move_count +1; //変数が1になって停止する } } }
なんかグループの人が、急に来なくなって自分ひとりで
ホムペから、レゴ創りまで、全てやることになったので、
思ったより大変だった。
でも意外と上出来(自分なりに)だったと思う。
コメントよろしくお願いしますm(_ _)m