program to shoot beenbags

Dependencies:   mbed MOTOR

arrcmbedをインクルードしてください。

Revision:
6:7dcc827bbe96
Parent:
5:1433a73c2692
Child:
7:0e3a6da2e175
--- a/main.cpp	Fri Jan 14 14:48:42 2022 +0000
+++ b/main.cpp	Fri Jan 14 15:12:45 2022 +0000
@@ -12,10 +12,14 @@
 Motor motor_revolver(PB_13,PB_14);//リボルバーモーター
 Motor motor_shoot(PA_11,PB_1);//発射機構モーター
 
+PwmOut servo1(PB_8); //サーボ
+PwmOut servo2(PB_9);
+
 int shoot_able;//発射フェーズ 0:待機 1:引き動作 2:リボルバー1/6回転 3:発射 
 int turn_able;//回転フェーズ 0:待機 1:1/6回転
 
 double revolver_pwm = 0.1;//リボルバー回転速度
+int theta = 500;//サーボ回転角度
 double interval = 0.1;
 int roricon = 0;
 
@@ -61,6 +65,9 @@
 int main(){
     int count = 1;//何発目か
     
+    servo.period_us(20000);
+    servo.period_us(20000);
+    
     slave.addCMD(2,interrupt);
     while(1){
         switch (shoot_able){
@@ -80,6 +87,7 @@
             break;
             
             case 2:
+            wait(5);
             //リボルバー回転
             turn_able = 1;
             revolver(count);
@@ -90,10 +98,16 @@
             break;
             
             case 3:
+            wait(5);
             //発射動作コードをここに書く!
+            servo1.pulsewidth_us(theta);
+            servo2.pulsewidth_us(theta);
             shoot_able = 0;
             printf("finished shooting %d\n",count);  
             count ++;
+            wait(5);
+            servo1.pulsewidth_us(0);
+            servo2.pulsewidth_us(0);
             break;
         } 
     }