Filter emg 7-10-15 v1
Dependencies: HIDScope mbed MODSERIAL
Kalibratie.cpp@17:cfe44346645c, 2015-10-09 (annotated)
- Committer:
- Bartvaart
- Date:
- Fri Oct 09 11:27:58 2015 +0000
- Revision:
- 17:cfe44346645c
- Parent:
- 16:8f175d2a472f
- Child:
- 18:eec0880fcded
Bepaald een max en minimum (voor kalibratie) en gaat dan gewone programma runnen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Bartvaart | 16:8f175d2a472f | 1 | #include "Kalibratie.h" |
Bartvaart | 17:cfe44346645c | 2 | #include "Filterdesigns.h" |
Bartvaart | 17:cfe44346645c | 3 | |
Bartvaart | 17:cfe44346645c | 4 | Timer Timermax; |
Bartvaart | 17:cfe44346645c | 5 | Timer Timermin; |
Bartvaart | 17:cfe44346645c | 6 | AnalogIn emg2(A0); //Analog input van emg kabels |
Bartvaart | 17:cfe44346645c | 7 | |
Bartvaart | 17:cfe44346645c | 8 | DigitalOut LedGreen(LED2); |
Bartvaart | 17:cfe44346645c | 9 | DigitalOut LedRed(LED1); |
Bartvaart | 17:cfe44346645c | 10 | |
Bartvaart | 17:cfe44346645c | 11 | void Init() |
Bartvaart | 17:cfe44346645c | 12 | { |
Bartvaart | 17:cfe44346645c | 13 | LedGreen = 1; |
Bartvaart | 17:cfe44346645c | 14 | LedRed = 1; |
Bartvaart | 17:cfe44346645c | 15 | } |
Bartvaart | 17:cfe44346645c | 16 | |
Bartvaart | 17:cfe44346645c | 17 | double KalibratieMax(bool &readymax) //Kalibratie van de maximum waarde |
Bartvaart | 17:cfe44346645c | 18 | { |
Bartvaart | 17:cfe44346645c | 19 | Timermax.start(); //Start de timer |
Bartvaart | 17:cfe44346645c | 20 | |
Bartvaart | 17:cfe44346645c | 21 | LedGreen.write(0); //Led aan |
Bartvaart | 17:cfe44346645c | 22 | double ymax = 0; |
Bartvaart | 16:8f175d2a472f | 23 | |
Bartvaart | 17:cfe44346645c | 24 | while(Timermax <= 5) { //Als timer onder de 5 seconden is dit uitvoeren |
Bartvaart | 17:cfe44346645c | 25 | double u = emg2.read(); |
Bartvaart | 17:cfe44346645c | 26 | double y = Filterdesigns(u); |
Bartvaart | 17:cfe44346645c | 27 | if (y > ymax) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde |
Bartvaart | 17:cfe44346645c | 28 | ymax = y; |
Bartvaart | 17:cfe44346645c | 29 | } |
Bartvaart | 17:cfe44346645c | 30 | else { |
Bartvaart | 17:cfe44346645c | 31 | } |
Bartvaart | 17:cfe44346645c | 32 | } |
Bartvaart | 17:cfe44346645c | 33 | Timermax.stop(); |
Bartvaart | 17:cfe44346645c | 34 | LedGreen.write(1); //Led aan |
Bartvaart | 17:cfe44346645c | 35 | readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is |
Bartvaart | 17:cfe44346645c | 36 | return ymax; |
Bartvaart | 17:cfe44346645c | 37 | } |
Bartvaart | 17:cfe44346645c | 38 | |
Bartvaart | 17:cfe44346645c | 39 | double KalibratieMin(bool &readymin) //Kalibratie van de minimum waarde |
Bartvaart | 17:cfe44346645c | 40 | { |
Bartvaart | 17:cfe44346645c | 41 | Timermin.start(); |
Bartvaart | 17:cfe44346645c | 42 | |
Bartvaart | 17:cfe44346645c | 43 | LedRed.write(0); |
Bartvaart | 17:cfe44346645c | 44 | double ymin = 10; |
Bartvaart | 17:cfe44346645c | 45 | |
Bartvaart | 17:cfe44346645c | 46 | while(Timermin <= 5) { |
Bartvaart | 17:cfe44346645c | 47 | double u = emg2.read(); |
Bartvaart | 17:cfe44346645c | 48 | double y = Filterdesigns(u); |
Bartvaart | 17:cfe44346645c | 49 | |
Bartvaart | 17:cfe44346645c | 50 | if (y < ymin) { |
Bartvaart | 17:cfe44346645c | 51 | ymin = y; |
Bartvaart | 17:cfe44346645c | 52 | } |
Bartvaart | 17:cfe44346645c | 53 | else { |
Bartvaart | 17:cfe44346645c | 54 | } |
Bartvaart | 17:cfe44346645c | 55 | } |
Bartvaart | 17:cfe44346645c | 56 | |
Bartvaart | 17:cfe44346645c | 57 | Timermin.stop(); |
Bartvaart | 17:cfe44346645c | 58 | LedRed.write(1); |
Bartvaart | 17:cfe44346645c | 59 | readymin = 1; |
Bartvaart | 17:cfe44346645c | 60 | return ymin; |
Bartvaart | 17:cfe44346645c | 61 | } |