Richard Roos / Mbed 2 deprecated TotalControlEmg2

Dependencies:   HIDScope MODSERIAL QEI TextLCD mbed

Committer:
Bartvaart
Date:
Tue Oct 13 12:28:32 2015 +0000
Revision:
19:6c0245063b96
Parent:
18:eec0880fcded
Child:
20:11e1244ad2ad
met extra filter voor trilling kabels;

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 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 19:6c0245063b96 19 Timermax.reset();
Bartvaart 17:cfe44346645c 20 Timermax.start(); //Start de timer
Bartvaart 17:cfe44346645c 21
Bartvaart 17:cfe44346645c 22 LedGreen.write(0); //Led aan
Bartvaart 17:cfe44346645c 23 double ymax = 0;
Bartvaart 18:eec0880fcded 24 double gem = 0; // omdat y min nog niet is gedefinieerd moet er daarvoor in de plaats een waarde 0 worden doorgestuurd naar het programma Filterdesigns. Omdat het onduidelijk is dezse ymin te gaan noemen in een bestand waar ymin ook wordt bepaald heet deze in dit geval gem
Bartvaart 16:8f175d2a472f 25
Bartvaart 19:6c0245063b96 26 while(Timermax <= 2) { //Als timer onder de 5 seconden is dit uitvoeren
Bartvaart 17:cfe44346645c 27 double u = emg2.read();
Bartvaart 18:eec0880fcded 28 double y = Filterdesigns(u, gem);
Bartvaart 17:cfe44346645c 29 if (y > ymax) { //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 17:cfe44346645c 34 }
Bartvaart 19:6c0245063b96 35
Bartvaart 17:cfe44346645c 36 Timermax.stop();
Bartvaart 17:cfe44346645c 37 LedGreen.write(1); //Led aan
Bartvaart 17:cfe44346645c 38 readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is
Bartvaart 17:cfe44346645c 39 return ymax;
Bartvaart 17:cfe44346645c 40 }
Bartvaart 17:cfe44346645c 41
Bartvaart 17:cfe44346645c 42 double KalibratieMin(bool &readymin) //Kalibratie van de minimum waarde
Bartvaart 17:cfe44346645c 43 {
Bartvaart 19:6c0245063b96 44 Timermin.reset();
Bartvaart 17:cfe44346645c 45 Timermin.start();
Bartvaart 17:cfe44346645c 46
Bartvaart 17:cfe44346645c 47 LedRed.write(0);
Bartvaart 17:cfe44346645c 48 double ymin = 10;
Bartvaart 18:eec0880fcded 49 double gem = 0;
Bartvaart 17:cfe44346645c 50
Bartvaart 19:6c0245063b96 51 while(Timermin <= 2) {
Bartvaart 17:cfe44346645c 52 double u = emg2.read();
Bartvaart 18:eec0880fcded 53 double y = Filterdesigns(u, gem);
Bartvaart 17:cfe44346645c 54
Bartvaart 17:cfe44346645c 55 if (y < ymin) {
Bartvaart 17:cfe44346645c 56 ymin = y;
Bartvaart 17:cfe44346645c 57 }
Bartvaart 17:cfe44346645c 58 else {
Bartvaart 17:cfe44346645c 59 }
Bartvaart 17:cfe44346645c 60 }
Bartvaart 17:cfe44346645c 61
Bartvaart 17:cfe44346645c 62 Timermin.stop();
Bartvaart 17:cfe44346645c 63 LedRed.write(1);
Bartvaart 17:cfe44346645c 64 readymin = 1;
Bartvaart 17:cfe44346645c 65 return ymin;
Bartvaart 17:cfe44346645c 66 }