Remco Dasselaar / Mbed 2 deprecated TotalControlEmg2

Dependencies:   HIDScope MODSERIAL QEI TextLCD mbed

Fork of TotalControlEmg2 by Remco Dasselaar

Committer:
RemcoDas
Date:
Thu Oct 15 11:13:32 2015 +0000
Revision:
24:ddd69385b55f
Parent:
22:c1811e60bfce
Child:
25:c97d079e07f3
Control en 1 EMG

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 22:c1811e60bfce 3 //#include "MODSERIAL.h" //bugfix
Bartvaart 17:cfe44346645c 4
Bartvaart 17:cfe44346645c 5 AnalogIn emg2(A0); //Analog input van emg kabels
Bartvaart 22:c1811e60bfce 6 //MODSERIAL pc2(USBTX, USBRX); //bugfix
Bartvaart 22:c1811e60bfce 7 DigitalOut LedGreen(LED2);
Bartvaart 22:c1811e60bfce 8 DigitalOut LedRed(LED1);
Bartvaart 22:c1811e60bfce 9
Bartvaart 22:c1811e60bfce 10 int samples = 100;
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 22:c1811e60bfce 20 //pc2.baud(115200);
Bartvaart 17:cfe44346645c 21 LedGreen.write(0); //Led aan
Bartvaart 17:cfe44346645c 22 double ymax = 0;
Bartvaart 16:8f175d2a472f 23
RemcoDas 24:ddd69385b55f 24 for(int i = 1; i <= samples; i++) { //Als timer onder de 5 seconden is dit uitvoeren
Bartvaart 17:cfe44346645c 25 double u = emg2.read();
Bartvaart 20:11e1244ad2ad 26 double y = Filterdesigns(u);
Bartvaart 22:c1811e60bfce 27
RemcoDas 24:ddd69385b55f 28
Bartvaart 22:c1811e60bfce 29 if (y > ymax && i >= samples / 10) { //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 22:c1811e60bfce 32 else {}
Bartvaart 22:c1811e60bfce 33 //pc2.printf("y = %f en ymax = %f \n",y,ymax); //bugfix
Bartvaart 22:c1811e60bfce 34 wait(0.05);
Bartvaart 17:cfe44346645c 35 }
Bartvaart 19:6c0245063b96 36
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 22:c1811e60bfce 44 //pc2.baud(115200);
Bartvaart 17:cfe44346645c 45 LedRed.write(0);
Bartvaart 17:cfe44346645c 46 double ymin = 10;
Bartvaart 17:cfe44346645c 47
Bartvaart 22:c1811e60bfce 48 for(int i = 1; i <= samples; i++) {
Bartvaart 17:cfe44346645c 49 double u = emg2.read();
Bartvaart 20:11e1244ad2ad 50 double y = Filterdesigns(u);
Bartvaart 17:cfe44346645c 51
Bartvaart 22:c1811e60bfce 52 if (y < ymin && i >= samples / 10) {
Bartvaart 17:cfe44346645c 53 ymin = y;
Bartvaart 17:cfe44346645c 54 }
Bartvaart 22:c1811e60bfce 55 else {}
Bartvaart 22:c1811e60bfce 56 //pc2.printf("y = %f en ymin = %f \n",y,ymin); //bugfix
Bartvaart 22:c1811e60bfce 57 wait(0.05);
Bartvaart 17:cfe44346645c 58 }
Bartvaart 17:cfe44346645c 59
Bartvaart 17:cfe44346645c 60 LedRed.write(1);
Bartvaart 17:cfe44346645c 61 readymin = 1;
Bartvaart 17:cfe44346645c 62 return ymin;
Bartvaart 17:cfe44346645c 63 }