to send emg signal to motor with test programm
Dependencies: HIDScope biquadFilter mbed
Fork of EMGvoorjan by
Diff: main.cpp
- 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(); }