Werkcollege opgave 23 september BMT K9

Dependencies:   Encoder HIDScope MODSERIAL mbed QEI biquadFilter

Committer:
bscheltinga
Date:
Fri Oct 09 08:14:42 2015 +0000
Revision:
21:594915ba2bf9
Parent:
20:d5f5c60adc43
Child:
22:14abcfdd1554
EMG Lowpassfilter werkend op HIDScope - Volgorde verandert en comments toegevoegd

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bscheltinga 0:fe3896c6eeb0 1 #include "mbed.h"
bscheltinga 12:0a079e86348e 2 #include "HIDScope.h"
bscheltinga 0:fe3896c6eeb0 3 #include "MODSERIAL.h"
bscheltinga 13:04e10692e239 4 #include "biquadFilter.h" //Filter direct form II
bscheltinga 0:fe3896c6eeb0 5
bscheltinga 15:7870f7912904 6 //Define inputs
bscheltinga 20:d5f5c60adc43 7 AnalogIn emgL(A0); //Analog input left arm
bscheltinga 18:68067ffd169e 8 //AnalogIn emgR(PTB1); //Analog input right arm
bscheltinga 19:bd453bee03f6 9 DigitalOut led1(LED_GREEN);
bscheltinga 21:594915ba2bf9 10
bscheltinga 18:68067ffd169e 11 MODSERIAL pc(USBTX,USBRX);
bscheltinga 20:d5f5c60adc43 12 volatile bool control_go = false;
bscheltinga 20:d5f5c60adc43 13 Ticker control_tick;
bscheltinga 15:7870f7912904 14
bscheltinga 20:d5f5c60adc43 15 //Define constants
bscheltinga 20:d5f5c60adc43 16 float emgL_L;
bscheltinga 15:7870f7912904 17
bscheltinga 20:d5f5c60adc43 18 const double a1 = 0;
bscheltinga 20:d5f5c60adc43 19 const double a2 = 0.17156822136;
bscheltinga 20:d5f5c60adc43 20 const double b0 = 0.2928920553;
bscheltinga 20:d5f5c60adc43 21 const double b1 = 0.5857841107;
bscheltinga 20:d5f5c60adc43 22 const double b2 = 0.2928920554; // Waarde van biquads via groep 1 2014
bscheltinga 20:d5f5c60adc43 23 biquadFilter Lowpassfilter (a1, a2, b0, b1, b2);
bscheltinga 15:7870f7912904 24
bscheltinga 21:594915ba2bf9 25 HIDScope scope(2); // Aantal HIDScope kanalen
bscheltinga 21:594915ba2bf9 26
bscheltinga 21:594915ba2bf9 27 void ControlGo() //Control flag
bscheltinga 21:594915ba2bf9 28 {
bscheltinga 21:594915ba2bf9 29 control_go = true;
bscheltinga 21:594915ba2bf9 30 led1 = 0;
bscheltinga 21:594915ba2bf9 31 }
bscheltinga 0:fe3896c6eeb0 32
bscheltinga 13:04e10692e239 33 int main()
bscheltinga 13:04e10692e239 34 {
bscheltinga 20:d5f5c60adc43 35 control_tick.attach(&ControlGo, 1);
bscheltinga 20:d5f5c60adc43 36 pc.baud(9600);
bscheltinga 20:d5f5c60adc43 37
bscheltinga 15:7870f7912904 38 while(true) {
bscheltinga 20:d5f5c60adc43 39
bscheltinga 20:d5f5c60adc43 40 if(control_go)
bscheltinga 20:d5f5c60adc43 41 emgL_L = Lowpassfilter.step(emgL.read()); //emgL_L Linker bicep met lowpass filter
bscheltinga 20:d5f5c60adc43 42 scope.set(0,emgL.read());
bscheltinga 20:d5f5c60adc43 43 scope.set(1,emgL.read());
bscheltinga 20:d5f5c60adc43 44 scope.send();
bscheltinga 21:594915ba2bf9 45 led1 = 1; //De led gaat flikkeren wanneer deze loop uitgevoerd wordt
bscheltinga 20:d5f5c60adc43 46
bscheltinga 14:57d38789bff2 47 }
bscheltinga 14:57d38789bff2 48 }