Filter emg 7-10-15 v1

Dependencies:   HIDScope mbed MODSERIAL

Committer:
Bartvaart
Date:
Wed Oct 14 12:36:42 2015 +0000
Revision:
20:11e1244ad2ad
Parent:
19:6c0245063b96
Child:
21:8fe8419de3e9
Kabel ruis lijkt nog niet weg te zijn, we gaan het nu aan een pro iemand vragen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bartvaart 16:8f175d2a472f 1 #include "Kalibratie.h"
Bartvaart 17:cfe44346645c 2 #include "Filterdesigns.h"
Bartvaart 20:11e1244ad2ad 3 #include "MODSERIAL.h" //bugfix
Bartvaart 17:cfe44346645c 4
Bartvaart 17:cfe44346645c 5 Timer Timermax;
Bartvaart 17:cfe44346645c 6 Timer Timermin;
Bartvaart 17:cfe44346645c 7 AnalogIn emg2(A0); //Analog input van emg kabels
Bartvaart 20:11e1244ad2ad 8 MODSERIAL pc2(USBTX, USBRX); //bugfix
Bartvaart 17:cfe44346645c 9 DigitalOut LedGreen(LED2);
Bartvaart 17:cfe44346645c 10 DigitalOut LedRed(LED1);
Bartvaart 17:cfe44346645c 11
Bartvaart 17:cfe44346645c 12 void Init()
Bartvaart 17:cfe44346645c 13 {
Bartvaart 17:cfe44346645c 14 LedGreen = 1;
Bartvaart 17:cfe44346645c 15 LedRed = 1;
Bartvaart 17:cfe44346645c 16 }
Bartvaart 17:cfe44346645c 17
Bartvaart 17:cfe44346645c 18 double KalibratieMax(bool &readymax) //Kalibratie van de maximum waarde
Bartvaart 17:cfe44346645c 19 {
Bartvaart 19:6c0245063b96 20 Timermax.reset();
Bartvaart 17:cfe44346645c 21 Timermax.start(); //Start de timer
Bartvaart 17:cfe44346645c 22
Bartvaart 17:cfe44346645c 23 LedGreen.write(0); //Led aan
Bartvaart 17:cfe44346645c 24 double ymax = 0;
Bartvaart 16:8f175d2a472f 25
Bartvaart 20:11e1244ad2ad 26 while(Timermax <= 5) { //Als timer onder de 5 seconden is dit uitvoeren
Bartvaart 17:cfe44346645c 27 double u = emg2.read();
Bartvaart 20:11e1244ad2ad 28 double y = Filterdesigns(u);
Bartvaart 20:11e1244ad2ad 29 if (y > ymax && Timermax >= 1) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde
Bartvaart 17:cfe44346645c 30 ymax = y;
Bartvaart 17:cfe44346645c 31 }
Bartvaart 17:cfe44346645c 32 else {
Bartvaart 17:cfe44346645c 33 }
Bartvaart 20:11e1244ad2ad 34 pc2.printf("y = %f en ymax = %f \n",y,ymax); //bugfix
Bartvaart 17:cfe44346645c 35 }
Bartvaart 19:6c0245063b96 36
Bartvaart 17:cfe44346645c 37 Timermax.stop();
Bartvaart 17:cfe44346645c 38 LedGreen.write(1); //Led aan
Bartvaart 17:cfe44346645c 39 readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is
Bartvaart 17:cfe44346645c 40 return ymax;
Bartvaart 17:cfe44346645c 41 }
Bartvaart 17:cfe44346645c 42
Bartvaart 17:cfe44346645c 43 double KalibratieMin(bool &readymin) //Kalibratie van de minimum waarde
Bartvaart 17:cfe44346645c 44 {
Bartvaart 19:6c0245063b96 45 Timermin.reset();
Bartvaart 17:cfe44346645c 46 Timermin.start();
Bartvaart 17:cfe44346645c 47
Bartvaart 17:cfe44346645c 48 LedRed.write(0);
Bartvaart 17:cfe44346645c 49 double ymin = 10;
Bartvaart 17:cfe44346645c 50
Bartvaart 20:11e1244ad2ad 51 while(Timermin <= 5) {
Bartvaart 17:cfe44346645c 52 double u = emg2.read();
Bartvaart 20:11e1244ad2ad 53 double y = Filterdesigns(u);
Bartvaart 17:cfe44346645c 54
Bartvaart 20:11e1244ad2ad 55 if (y < ymin && Timermin >= 1) {
Bartvaart 17:cfe44346645c 56 ymin = y;
Bartvaart 17:cfe44346645c 57 }
Bartvaart 17:cfe44346645c 58 else {
Bartvaart 17:cfe44346645c 59 }
Bartvaart 20:11e1244ad2ad 60 pc2.printf("y = %f en ymax = %f \n",y,ymin); //bugfix
Bartvaart 17:cfe44346645c 61 }
Bartvaart 17:cfe44346645c 62
Bartvaart 17:cfe44346645c 63 Timermin.stop();
Bartvaart 17:cfe44346645c 64 LedRed.write(1);
Bartvaart 17:cfe44346645c 65 readymin = 1;
Bartvaart 17:cfe44346645c 66 return ymin;
Bartvaart 17:cfe44346645c 67 }