to send emg signal to motor with test programm

Dependencies:   HIDScope biquadFilter mbed

Fork of EMGvoorjan by Roy Theussing

Revision:
32:3832f732f17a
Parent:
30:4c6321941515
Child:
33:84d986230e15
--- a/main.cpp	Wed Oct 25 12:38:09 2017 +0000
+++ b/main.cpp	Thu Oct 26 07:49:21 2017 +0000
@@ -2,8 +2,6 @@
 #include "HIDScope.h"
 #include "BiQuad.h"
 #include "math.h"
-#include "Serial.h" 
-
 
 //Define objects
 AnalogIn    emg( A0 ); //EMG
@@ -28,7 +26,7 @@
  double movmean; 
  int MotorLock = 0;
  double EMGInput;
- float ErrorZero = 1.5; 
+ float ErrorZero = 3; 
  
  // Filters 
 BiQuadChain bqc;
@@ -45,6 +43,7 @@
     double emgabs = abs(emgFiltered); // absolute waarde van het gefilterde signaal
     scope.set(0, emgFiltered ); // stuurt de waarden naar de grafiek
     scope.set(1, emgabs ); // stuurt de waarden naar de grafiek
+    Vwaarde[0] = 0.01;
     
     // deze for-loop maakt de vector voor de moving average
     for(int i = P-1; i >= 0; i--){
@@ -93,6 +92,12 @@
             x=0;
         }
     }
+    scope.set(2, movmean); // stuurt de moving average naar de plot
+    
+    if (movmean > Vwaarde[1]) {
+        movmean = Vwaarde[1]; // zorgt ervoor dat emg nooit > 1 kan zijn
+    }
+    
     double EMGInputRaw =  (movmean - Vwaarde[0]*ErrorZero)/(Vwaarde[1] - Vwaarde[0]*ErrorZero); 
     if (EMGInputRaw < 0) {
         EMGInput = 0;
@@ -101,7 +106,7 @@
         EMGInput = EMGInputRaw;
     } 
     scope.set(5,EMGInput);  
-    scope.set(2, movmean); // stuurt de moving average naar de plot
+    
     
     scope.send();
 }