[[2015a/Member]] *目標 [#v95bff27] 今回の目標は&size(30){「確実に空き缶を見つけてボールを当てる。」};これを目標として製作してきました。実現するにあたって機体自体のモチーフとしたのがカタパルトです。 &ref(./lgi01a201402210300.jpg,40%); &ref(./th3MHHYTJ0.jpg,15%); &ref(./16790.jpg,40%); **ボールの射出 [#c3d2fffb] 今回はモーターCをボ−ルを投げるのに使いました。ボールが横から出ないようにギアを横に着けサポートしまっすぐ飛ぶように真ん中にボールが収まる幅を持たました。 &ref(./16787.jpg,30%); &ref(./16779.jpg,30%); 編集のプログラミングは下記の通りです。勢いをつけるために75%の出力で強めにボールを投げ出すようにしました。 RotateMotor(OUT_C,75,45); **ボール検知 [#ddbe985a] int scan_angle(int a){ //0<=a<=36で指定 a*10°の範囲をスキャンする PlaySound(SOUND_CLICK); Wait(500); int min_temp=0; //仮の最小値 int min=100; //最小値 int angle=0; //最小値を記録した角度[°] int i=0; //i*10[°]ごと記録する int turn_time=TURN_TIME_10; repeat(a){ min_temp=SensorUS(S4); if(min>=min_temp){ //最小値比較 min=min_temp; //最小値更新 angle=i*10; //最小値 PlaySound(SOUND_LOW_BEEP); Wait(500); } turn_right; Wait(turn_time); i++; } return angle; }