Hidscope + EMG

Dependencies:   HIDScope biquadFilter mbed

Committer:
Iriskolenbrander9
Date:
Mon Oct 22 11:19:47 2018 +0000
Revision:
1:7eadfb7fd5c9
Parent:
0:5ad817857e29
Child:
2:b2d117949de7
Attempt at filtering emg signal 1 with Lowpass filter

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Iriskolenbrander9 0:5ad817857e29 1 #include "mbed.h"
Iriskolenbrander9 0:5ad817857e29 2 #include "HIDScope.h"
Iriskolenbrander9 1:7eadfb7fd5c9 3 #include "BiQuad.h"
Iriskolenbrander9 0:5ad817857e29 4
Iriskolenbrander9 0:5ad817857e29 5 // Define the HIDScope and Ticker object
Iriskolenbrander9 1:7eadfb7fd5c9 6 HIDScope scope(3);
Iriskolenbrander9 0:5ad817857e29 7 Ticker scopeTimer;
Iriskolenbrander9 1:7eadfb7fd5c9 8 BiQuad bq1(0.2928920553392428, 0.5857841106784856, 0.2928920553392428, -1.3007020142696517e-16,0.17156822135697122);
Iriskolenbrander9 0:5ad817857e29 9
Iriskolenbrander9 0:5ad817857e29 10 // Read the analog input
Iriskolenbrander9 0:5ad817857e29 11 AnalogIn emg1(A0);
Iriskolenbrander9 0:5ad817857e29 12 AnalogIn emg2(A1);
Iriskolenbrander9 1:7eadfb7fd5c9 13
Iriskolenbrander9 1:7eadfb7fd5c9 14 double emgSample()
Iriskolenbrander9 1:7eadfb7fd5c9 15 {
Iriskolenbrander9 1:7eadfb7fd5c9 16 double emgFiltered = bq1.step(emg1.read());
Iriskolenbrander9 1:7eadfb7fd5c9 17 return emgFiltered;
Iriskolenbrander9 1:7eadfb7fd5c9 18 }
Iriskolenbrander9 1:7eadfb7fd5c9 19
Iriskolenbrander9 0:5ad817857e29 20 // The data read and send function
Iriskolenbrander9 0:5ad817857e29 21 void scopeSend()
Iriskolenbrander9 0:5ad817857e29 22 {
Iriskolenbrander9 0:5ad817857e29 23 scope.set(0,emg1.read());
Iriskolenbrander9 0:5ad817857e29 24 scope.set(1,emg2.read());
Iriskolenbrander9 1:7eadfb7fd5c9 25 scope.set(2,emgSample());
Iriskolenbrander9 0:5ad817857e29 26 scope.send();
Iriskolenbrander9 0:5ad817857e29 27 }
Iriskolenbrander9 0:5ad817857e29 28
Iriskolenbrander9 0:5ad817857e29 29 int main()
Iriskolenbrander9 0:5ad817857e29 30 {
Iriskolenbrander9 0:5ad817857e29 31 // Attach the data read and send function at 100 Hz
Iriskolenbrander9 1:7eadfb7fd5c9 32 scopeTimer.attach_us(&scopeSend, 2e3);
Iriskolenbrander9 0:5ad817857e29 33
Iriskolenbrander9 0:5ad817857e29 34 while(1) { }
Iriskolenbrander9 0:5ad817857e29 35 }