; vergeten ergens?

Dependencies:   HIDScope biquadFilter mbed

Fork of a_check_emg_filtered_new_lib by Daniqe Kottelenberg

Committer:
daniQQue
Date:
Fri Oct 21 13:43:43 2016 +0000
Revision:
7:42d0e38196f1
Parent:
6:83358367e413
Child:
8:cd0cb71b69f2
werkende versie, met abs, low, 1/0;

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 7:42d0e38196f1 15 double emg_abs;
daniQQue 7:42d0e38196f1 16 int onoffsignal=0;
daniQQue 7:42d0e38196f1 17 double cut_off_value=0.05; //gespecifeerd door floortje
daniQQue 5:688b1b5530d8 18
daniQQue 5:688b1b5530d8 19 biquadFilter filterhigh1(-1.1430, 0.4128, 0.6389, -1.2779, 0.6389);
daniQQue 0:34c739fcc3e0 20
daniQQue 0:34c739fcc3e0 21 void filter(){
daniQQue 0:34c739fcc3e0 22 emg_0_value=emg0.read(); //read the emg value from the elektrodes
daniQQue 5:688b1b5530d8 23 emg_gefilterd= filterhigh1.step(emg_0_value);
daniQQue 6:83358367e413 24 emg_abs=abs(emg_gefilterd);
daniQQue 0:34c739fcc3e0 25 led=!led;
daniQQue 7:42d0e38196f1 26
daniQQue 7:42d0e38196f1 27 if (emg_abs>cut_off_value)
daniQQue 7:42d0e38196f1 28 {onoffsignal=1;}
daniQQue 7:42d0e38196f1 29
daniQQue 7:42d0e38196f1 30 else
daniQQue 7:42d0e38196f1 31 {onoffsignal=0;}
daniQQue 7:42d0e38196f1 32
daniQQue 0:34c739fcc3e0 33 //send signals to scope
daniQQue 1:30d46f7e5150 34 scope.set(0, emg_0_value ); //set emg signal to scope in channel 1
daniQQue 4:7d9ca9c1dcce 35 scope.set(1, emg_gefilterd );
daniQQue 7:42d0e38196f1 36 scope.set(2, onoffsignal);
daniQQue 0:34c739fcc3e0 37 scope.send(); //send all the signals to the scope
daniQQue 0:34c739fcc3e0 38 }
daniQQue 0:34c739fcc3e0 39
daniQQue 0:34c739fcc3e0 40 //program
daniQQue 0:34c739fcc3e0 41
daniQQue 0:34c739fcc3e0 42 int main()
daniQQue 0:34c739fcc3e0 43 {
daniQQue 0:34c739fcc3e0 44 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 45
daniQQue 0:34c739fcc3e0 46 //endless loop
daniQQue 0:34c739fcc3e0 47
daniQQue 0:34c739fcc3e0 48 while(1)
daniQQue 0:34c739fcc3e0 49 {}
daniQQue 0:34c739fcc3e0 50
daniQQue 0:34c739fcc3e0 51 }