Werkcollege opgave 23 september BMT K9

Dependencies:   Encoder HIDScope MODSERIAL mbed QEI biquadFilter

Revision:
45:10ba78d97d75
Parent:
43:9dc385093c8e
Child:
46:c88e0d2daf15
--- a/main.cpp	Wed Oct 21 12:53:29 2015 +0000
+++ b/main.cpp	Wed Oct 21 13:04:09 2015 +0000
@@ -113,7 +113,7 @@
 void keep_in_range                  (double * in, double min, double max);  
 
 double pwm_strike;
-
+double f; double pwm_average; double smp;
 //==========================//
 //      [MAIN FUNCTION]     //
 //==========================//
@@ -123,6 +123,8 @@
     pc.baud(115200);
     //double n=0;
     calibration(); // calibreer min en max positie
+    f=1;
+    smp=0;
     while(1)
     {
        // if(control_go)
@@ -137,9 +139,9 @@
 //            control_go = 0;
 //        }
         yellow();
-        
         if(control_go)
-        {control_go=0;
+        {
+        control_go=0;
         sample_filter();
         double signal_above_threshold=(moving_average_left); //(moving_average_right-Threshold_Bicep_Right_1)+
         double max_signal=(EMG_L_max); //(EMG_R_max-Threshold_Bicep_Right_1)+
@@ -147,8 +149,19 @@
         keep_in_range(&pwm_strike, 0,1); 
         pc.printf("Pwm=%f \n\r", pwm_strike);
         pwm_strike=pwm_strike*pwm_strike;
-
-        pwm_motor_strike=fabs(pwm_strike);}
+        
+        pwm_average=pwm_strike+pwm_average/f;
+        f++;
+        smp++;
+        if(smp>512)
+        {
+        pwm_motor_strike=fabs(pwm_strike);
+        green();
+        wait(5);
+        pwm_motor_strike=0;
+        f=1;
+        smp=0;}
+        }
     } // while end   
 } // main end