kalibratie

Dependencies:   MODSERIAL mbed

Committer:
LBeen
Date:
Tue Nov 01 08:18:49 2016 +0000
Revision:
1:f7a6ebb8f1e1
Parent:
0:f8435641578d
Kalibratie van de potmeter, om 3 keer een SpierMax te krijgen, doorschuiven met gebruik van knopje

Who changed what in which revision?

UserRevisionLine numberNew contents of line
LBeen 0:f8435641578d 1 #include "mbed.h"
LBeen 0:f8435641578d 2 #include "math.h"
LBeen 0:f8435641578d 3 #include "MODSERIAL.h"
LBeen 0:f8435641578d 4
LBeen 0:f8435641578d 5 AnalogIn potmeter(A0);
LBeen 0:f8435641578d 6 MODSERIAL pc(USBTX, USBRX);
LBeen 1:f7a6ebb8f1e1 7 InterruptIn knopje1 (D2);
LBeen 0:f8435641578d 8
LBeen 0:f8435641578d 9 float signaal;
LBeen 0:f8435641578d 10 float maximum;
LBeen 1:f7a6ebb8f1e1 11 float Spier1Max;
LBeen 1:f7a6ebb8f1e1 12 float Spier2Max;
LBeen 1:f7a6ebb8f1e1 13 float Spier3Max;
LBeen 1:f7a6ebb8f1e1 14 int x = 0;
LBeen 1:f7a6ebb8f1e1 15 bool y = true;
LBeen 1:f7a6ebb8f1e1 16
LBeen 0:f8435641578d 17
LBeen 1:f7a6ebb8f1e1 18 float GetMaximum()
LBeen 0:f8435641578d 19 {
LBeen 1:f7a6ebb8f1e1 20 maximum = potmeter.read();
LBeen 1:f7a6ebb8f1e1 21 for(int i = 0; i<250000;i++)
LBeen 1:f7a6ebb8f1e1 22 {
LBeen 1:f7a6ebb8f1e1 23 signaal = potmeter.read();
LBeen 1:f7a6ebb8f1e1 24 if(signaal>maximum)
LBeen 1:f7a6ebb8f1e1 25 {
LBeen 1:f7a6ebb8f1e1 26 maximum = signaal;
LBeen 1:f7a6ebb8f1e1 27 }
LBeen 1:f7a6ebb8f1e1 28 else
LBeen 1:f7a6ebb8f1e1 29 {
LBeen 1:f7a6ebb8f1e1 30 maximum = maximum;
LBeen 1:f7a6ebb8f1e1 31 }
LBeen 1:f7a6ebb8f1e1 32 }
LBeen 0:f8435641578d 33 return maximum;
LBeen 0:f8435641578d 34 }
LBeen 0:f8435641578d 35
LBeen 1:f7a6ebb8f1e1 36 void GoOn()
LBeen 1:f7a6ebb8f1e1 37 {
LBeen 1:f7a6ebb8f1e1 38 x++;
LBeen 1:f7a6ebb8f1e1 39 y = false;
LBeen 1:f7a6ebb8f1e1 40 }
LBeen 1:f7a6ebb8f1e1 41
LBeen 1:f7a6ebb8f1e1 42 void StartMeting()
LBeen 1:f7a6ebb8f1e1 43 {
LBeen 1:f7a6ebb8f1e1 44 switch(x)
LBeen 1:f7a6ebb8f1e1 45 {
LBeen 1:f7a6ebb8f1e1 46 case 0:
LBeen 1:f7a6ebb8f1e1 47 pc.printf("case 0\n\r");
LBeen 1:f7a6ebb8f1e1 48 y = true;
LBeen 1:f7a6ebb8f1e1 49 while(y == true) {}
LBeen 1:f7a6ebb8f1e1 50 case 1:
LBeen 1:f7a6ebb8f1e1 51 pc.printf("case 1\n\r");
LBeen 1:f7a6ebb8f1e1 52 Spier1Max = GetMaximum();
LBeen 1:f7a6ebb8f1e1 53 pc.printf("Spier1Max = %f\n\r",Spier1Max);
LBeen 1:f7a6ebb8f1e1 54 y = true;
LBeen 1:f7a6ebb8f1e1 55 while(y == true) {}
LBeen 1:f7a6ebb8f1e1 56 case 2:
LBeen 1:f7a6ebb8f1e1 57 pc.printf("case 2\n\r");
LBeen 1:f7a6ebb8f1e1 58 Spier2Max = GetMaximum();
LBeen 1:f7a6ebb8f1e1 59 pc.printf("Spier2Max = %f\n\r",Spier2Max);
LBeen 1:f7a6ebb8f1e1 60 y = true;
LBeen 1:f7a6ebb8f1e1 61 while (y == true) {}
LBeen 1:f7a6ebb8f1e1 62 case 3:
LBeen 1:f7a6ebb8f1e1 63 pc.printf("case 3\n\r");
LBeen 1:f7a6ebb8f1e1 64 Spier3Max = GetMaximum();
LBeen 1:f7a6ebb8f1e1 65 pc.printf("Spier3Max = %f\n\r",Spier3Max);
LBeen 1:f7a6ebb8f1e1 66 y = true;
LBeen 1:f7a6ebb8f1e1 67 while (y == true) {}
LBeen 1:f7a6ebb8f1e1 68 case 4:
LBeen 1:f7a6ebb8f1e1 69 pc.printf("case 4\n\r");
LBeen 1:f7a6ebb8f1e1 70 break;
LBeen 1:f7a6ebb8f1e1 71 }
LBeen 1:f7a6ebb8f1e1 72 }
LBeen 1:f7a6ebb8f1e1 73
LBeen 0:f8435641578d 74 int main()
LBeen 0:f8435641578d 75 {
LBeen 0:f8435641578d 76 pc.baud(115200);
LBeen 1:f7a6ebb8f1e1 77 pc.printf("START\n\r");
LBeen 1:f7a6ebb8f1e1 78 knopje1.fall(GoOn);
LBeen 1:f7a6ebb8f1e1 79 StartMeting();
LBeen 1:f7a6ebb8f1e1 80 pc.printf("Spiermax1 = %f\n\rSpiermax2 = %f\n\rSpier3max = %f\n\r\n\n",Spier1Max,Spier2Max,Spier3Max);
LBeen 1:f7a6ebb8f1e1 81 while(true){}
LBeen 0:f8435641578d 82 }