emg with text

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

Fork of emg_import by Daniqe Kottelenberg

Committer:
daniQQue
Date:
Fri Oct 21 13:34:24 2016 +0000
Revision:
6:83358367e413
Parent:
5:688b1b5530d8
Child:
7:42d0e38196f1
error?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
daniQQue 0:34c739fcc3e0 1 //libraries
daniQQue 0:34c739fcc3e0 2 #include "mbed.h"
daniQQue 0:34c739fcc3e0 3 #include "HIDScope.h"
daniQQue 4:7d9ca9c1dcce 4 #include "biquadFilter.h"
daniQQue 0:34c739fcc3e0 5
daniQQue 0:34c739fcc3e0 6 //Define objects
daniQQue 0:34c739fcc3e0 7 AnalogIn emg0( A0 ); //analog in to get EMG in to c++
daniQQue 0:34c739fcc3e0 8 Ticker sample_timer; //ticker
daniQQue 4:7d9ca9c1dcce 9 HIDScope scope( 3); //open 3 channels in hidscope
daniQQue 0:34c739fcc3e0 10 DigitalOut led(LED_GREEN);
daniQQue 0:34c739fcc3e0 11
daniQQue 0:34c739fcc3e0 12 //define variables
daniQQue 0:34c739fcc3e0 13 double emg_0_value;
daniQQue 4:7d9ca9c1dcce 14 double emg_gefilterd;
daniQQue 6:83358367e413 15 double emg_abs
daniQQue 5:688b1b5530d8 16
daniQQue 5:688b1b5530d8 17 biquadFilter filterhigh1(-1.1430, 0.4128, 0.6389, -1.2779, 0.6389);
daniQQue 0:34c739fcc3e0 18
daniQQue 0:34c739fcc3e0 19 void filter(){
daniQQue 0:34c739fcc3e0 20 emg_0_value=emg0.read(); //read the emg value from the elektrodes
daniQQue 5:688b1b5530d8 21 emg_gefilterd= filterhigh1.step(emg_0_value);
daniQQue 6:83358367e413 22 emg_abs=abs(emg_gefilterd);
daniQQue 0:34c739fcc3e0 23 led=!led;
daniQQue 4:7d9ca9c1dcce 24
daniQQue 0:34c739fcc3e0 25 //send signals to scope
daniQQue 1:30d46f7e5150 26 scope.set(0, emg_0_value ); //set emg signal to scope in channel 1
daniQQue 4:7d9ca9c1dcce 27 scope.set(1, emg_gefilterd );
daniQQue 6:83358367e413 28 scope.set(2, emg_abs);
daniQQue 0:34c739fcc3e0 29 scope.send(); //send all the signals to the scope
daniQQue 0:34c739fcc3e0 30 }
daniQQue 0:34c739fcc3e0 31
daniQQue 0:34c739fcc3e0 32 //program
daniQQue 0:34c739fcc3e0 33
daniQQue 0:34c739fcc3e0 34 int main()
daniQQue 0:34c739fcc3e0 35 {
daniQQue 0:34c739fcc3e0 36 sample_timer.attach(&filter, 0.001); //continously execute the EMG reader and filter, it ensures that filter and sampling is executed every 1/frequency seconds
daniQQue 4:7d9ca9c1dcce 37
daniQQue 0:34c739fcc3e0 38 //endless loop
daniQQue 0:34c739fcc3e0 39
daniQQue 0:34c739fcc3e0 40 while(1)
daniQQue 0:34c739fcc3e0 41 {}
daniQQue 0:34c739fcc3e0 42
daniQQue 0:34c739fcc3e0 43 }