Werkcollege opgave 23 september BMT K9
Dependencies: Encoder HIDScope MODSERIAL mbed QEI biquadFilter
main.cpp@20:d5f5c60adc43, 2015-10-08 (annotated)
- Committer:
- bscheltinga
- Date:
- Thu Oct 08 14:44:51 2015 +0000
- Revision:
- 20:d5f5c60adc43
- Parent:
- 19:bd453bee03f6
- Child:
- 21:594915ba2bf9
Biquad op analog IN en filter uitlezen op HIDScope WERKEND
Who changed what in which revision?
User | Revision | Line number | New 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 | 18:68067ffd169e | 10 | MODSERIAL pc(USBTX,USBRX); |
bscheltinga | 20:d5f5c60adc43 | 11 | volatile bool control_go = false; |
bscheltinga | 20:d5f5c60adc43 | 12 | Ticker control_tick; |
bscheltinga | 20:d5f5c60adc43 | 13 | void ControlGo() |
bscheltinga | 20:d5f5c60adc43 | 14 | { |
bscheltinga | 20:d5f5c60adc43 | 15 | control_go = true; |
bscheltinga | 20:d5f5c60adc43 | 16 | led1 = 0; |
bscheltinga | 20:d5f5c60adc43 | 17 | } |
bscheltinga | 18:68067ffd169e | 18 | |
bscheltinga | 15:7870f7912904 | 19 | |
bscheltinga | 20:d5f5c60adc43 | 20 | //Define constants |
bscheltinga | 20:d5f5c60adc43 | 21 | float emgL_L; |
bscheltinga | 15:7870f7912904 | 22 | |
bscheltinga | 20:d5f5c60adc43 | 23 | const double a1 = 0; |
bscheltinga | 20:d5f5c60adc43 | 24 | const double a2 = 0.17156822136; |
bscheltinga | 20:d5f5c60adc43 | 25 | const double b0 = 0.2928920553; |
bscheltinga | 20:d5f5c60adc43 | 26 | const double b1 = 0.5857841107; |
bscheltinga | 20:d5f5c60adc43 | 27 | const double b2 = 0.2928920554; // Waarde van biquads via groep 1 2014 |
bscheltinga | 20:d5f5c60adc43 | 28 | biquadFilter Lowpassfilter (a1, a2, b0, b1, b2); |
bscheltinga | 15:7870f7912904 | 29 | |
bscheltinga | 18:68067ffd169e | 30 | HIDScope scope(2); // 1 HIDScope kanaal |
bscheltinga | 0:fe3896c6eeb0 | 31 | |
bscheltinga | 13:04e10692e239 | 32 | int main() |
bscheltinga | 13:04e10692e239 | 33 | { |
bscheltinga | 20:d5f5c60adc43 | 34 | control_tick.attach(&ControlGo, 1); |
bscheltinga | 20:d5f5c60adc43 | 35 | |
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 | 20:d5f5c60adc43 | 45 | led1 = 1; |
bscheltinga | 20:d5f5c60adc43 | 46 | |
bscheltinga | 14:57d38789bff2 | 47 | } |
bscheltinga | 14:57d38789bff2 | 48 | } |