Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL QEI TextLCD mbed
Fork of TotalControlEmg2 by
Diff: main.cpp
- Revision:
- 4:3b9e2d49d5fb
- Parent:
- 3:344b173f85fe
- Child:
- 5:b400209df739
diff -r 344b173f85fe -r 3b9e2d49d5fb main.cpp --- 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 }