[[2009a]] *メニュー [#oa7647c0] #contents **課題3の内容 [#wb2ec591] インストの「top secret」を参考にして、白いホイールを投げるロボットを作成すべし!! ただし…以下の壱〜参の条件を満たす事。 其の壱、全方向から懐中電灯の方向を探しだし、懐中電灯を狙ってブロックを投げる。方向を定めたのち、懐中電灯の30cm以内に近づかない範囲で必要な距離を移動してもOK。懐中電灯は動かさないが、いろいろな距離や方向にある懐中電灯に対応できるロボットにすること。 其の弐、懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。 其の参、懐中電灯を動かしたとき懐中電灯に向かって進み、見失った時には再び全方向から懐中電灯を探しだす。7秒以上追尾できたら懐中電灯に向かってブロックを投げる。 ただし…懐中電灯の代わりに携帯のライトなどを利用してもOK。モータ、光センサ、タッチセンサはそれぞれ2個まで使用OK。ただし、平面的な方向だけでなく懐中電灯の高さまで含めた方向を探す場合にはモータを3個使用してもOK。 **プログラミング [#e22ea15a] ***その壱 [#n2660f6f] int hikari; int mode; #define search 1; #define chase 2; #define shoot 3; #difine hikari2 50; task main() { //task main start SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); mode=search; While(mode == search)//while search start { if (SENSOR_1 < SENSOR_3) //if a start { OnFwd(OUT_C); } //if a end if (SENSOR_1 > SENSOR_3) //if b start { OnRev(OUT_C); } //if b end if (SENSOR_1 == SENSOR_2) //if c start { mode=chase; } //if c end } //while search end While(mode == chase)//while chase start { if(SENSOR_1 < hikari2) //if d start OnFwd(OUT_C);Wait(20);Off(OUT_A+OUT_C);OnRev(OUT_A);Wait(20);Off(OUT_A); } //if d end else // if b's else start { mode=shoot } //if b's else end While(mode == shoot)//while shoot start { OnFwd(OUT_B);Wait(200);Off(OUT_B);mode=search; } //while shoot end } //task main end ***プログラムの説明 [#ye0d6c85] ***その弐 [#y47cf4b2] #define THRESHOLD 50 //閾値 #define STRATE 53 #define MAX 65 int move_count; //変数 task main() { SetPower(OUT_C,4); SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1は光センサー SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3は光センサー move_count = 0; //変数に0を代入 while(move_count == 0){ //変数が0の間 if((SENSOR_1<THRESHOLD) || (SENSOR_3<THRESHOLD)) //値が49以下のとき {OnRev(OUT_C);} //その場で回転する { { until(((SENSOR_1>= STRATE)||(SENSOR_3>= STRATE)); until((SENSOR_1>=MAX)||(SENSOR_3>=MAX))); }} if ((SENSOR_1>MAX) || (SENSOR_3>MAX)) //値が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; **この機械について [#yc0d0487] ☆正面からの画像、とっても強そうな機械に仕上がりました!! #ref(2009a/A6/課題3右/NEC_0058.JPG,50%) ☆他の班にわ無い様な重厚な造りの発射台!!力強い発射が可能に!! #ref(2009a/A6/課題3右/NEC_0055.JPG,50%) ☆この重厚な造りの恩恵を受けて完成した“白ホイール4連続発射”その凄まじさにタダタダ脱帽! #ref(2009a/A6/課題3右/NEC_0056.JPG,50%) ☆エンジンの構造上4輪車だと、前後か離れすぎて小回りが利きずらい… そのため摩擦を極限まで小さくした素材をフロントに使用!!4輪よりも機動力が向上!! #ref(2009a/A6/課題3右/NEC_0057.JPG,50%) **感想 [#ye4a84fe] ***TUTTI- [#t2f28a46] こだわったところは四連射~ 後悔は射出部の上下~ 反省点は重量~ 得たものは満足感~ 危うきはゴムの耐久度~ ***KIMIYASU [#k13e76c8] レゴでここまでハイテクな機能のついたロボットが出来るなんて驚いた。 初めて作る足回りはとっても厄介、特にギア比とかギア比とかが。 白いホイールを飛ばす部分も他の班には無い様なクレーン車見たいに成って かっこ良かった!! **コメント [#p8007140] どなたでもご気軽にコメントの方よろしくお願いします。 #comment