Remco Dasselaar / Mbed 2 deprecated TotalControlEmg2

Dependencies:   HIDScope MODSERIAL QEI TextLCD mbed

Fork of TotalControlEmg2 by Remco Dasselaar

Revision:
4:3b9e2d49d5fb
Parent:
3:344b173f85fe
Child:
5:b400209df739
--- a/main.cpp	Tue Oct 06 13:18:52 2015 +0000
+++ b/main.cpp	Tue Oct 06 14:25:53 2015 +0000
@@ -5,26 +5,26 @@
 
 AnalogIn    emg(A0); //Analog input van emg kabels
 Ticker      EMGticker;
-HIDScope    scope(2); //2 scopes
+HIDScope    scope(3); //2 scopes
 
 // constante variabelen:
 
 //Sample frequentie
 double Fs = 500; //Hz
 double t = 1/ Fs; // voor EMGticker
-
+double gem = 0.4557; // gemiddelde waarde emgsignaal
 
 // Filter1a: 50Hz Notch
 double v1_50a = 0, v2_50a = 0;
-const double a1_50a = -1.61803398875, a2_50a = 1.00000000000;
-const double b0_50a = 1.00000000000, b1_50a = -1.61803398875, b2_50a = 1.00000000000;
+const double a1_50a = -1.56858163817, a2_50a = 0.96424138921;
+const double b0_50a = 1.00000000000, b1_50a = -1.61854514265, b2_50a = 1.00000000000;
 const double gain_50a = 1.000000;
 
 // Filter1b: 50Hz Notch
 double v1_50b = 0, v2_50b = 0;
-const double a1_50b = -1.61803398875, a2_50b = 1.00000000000;
-const double b0_50b = 1.00000000000, b1_50b = -1.61803398875, b2_50b = 1.00000000000;
-const double gain_50b = 1.000000;
+const double a1_50b = -1.61100357834, a2_50b = 0.96592171046;
+const double b0_50b = 1.00000000000, b1_50b = -1.61854514265, b2_50b = 1.00000000000;
+const double gain_50b = 0.965081;
 
 
 // Filter1: 20Hz HighPass
@@ -44,7 +44,7 @@
     //u = input waarde
     //y = output waarde
 
-    double u = emg.read(); // lees waarde van emg signaal uit
+    double u = emg.read() - gem; // lees waarde van emg signaal uit
     
     // Op deze manier worden de waardes ingelezen in Filter. Zorg dus voor dezelfde volgorde, zodat de waardes goed uitgelezen worden!:
     // Filter(double u, double &v1, double &v2, const double a1, const double a2, const double b0, const double b1, const double b2, const double gain)
@@ -64,9 +64,12 @@
     
     double y = 10 * yLP;
     
+    double ymean = Meanvalue(y);
+    
     // Plotten in HIDscope
     scope.set(0,u); //ongefilterde waarde naar scope 1
     scope.set(1,y); //gefilterde waarde naar scope 2
+    scope.set(2,ymean); // gefilterde en gemiddelde waarde naar scope 3
     scope.send(); //stuur de waardes naar HIDscope
 }