EMG check. met knopjes en toetsenboard emg signalen simuleren om de code te testen. groepje 12

Dependencies:   MODSERIAL QEI mbed

Fork of EMG_check by sibren vuurberg

Committer:
sivuu
Date:
Fri Oct 07 07:52:22 2016 +0000
Revision:
12:7903c0e55cd7
Parent:
10:06d0fe6b3bcf
Child:
14:4b934ac37656
met knoppen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sivuu 12:7903c0e55cd7 1 #include "mbed.h" //standaard bieb mbed
sivuu 12:7903c0e55cd7 2 #include "QEI.h" //bieb voor encoderfuncties in c++
sivuu 12:7903c0e55cd7 3 #include "MODSERIAL.h" //bieb voor modserial
sivuu 2:4dcdf7755a04 4 InterruptIn sw3(SW3);
sivuu 12:7903c0e55cd7 5 DigitalIn encoder1A(D13);
sivuu 12:7903c0e55cd7 6 DigitalIn encoder1B(D12);
sivuu 12:7903c0e55cd7 7 DigitalIn button_cw(D11);
sivuu 12:7903c0e55cd7 8 DigitalIn button_ccw(D9);
sivuu 12:7903c0e55cd7 9 DigitalOut ledcw(D10);
sivuu 12:7903c0e55cd7 10 DigitalOut ledccw(D2);
sivuu 12:7903c0e55cd7 11 MODSERIAL pc(USBTX, USBRX);
sivuu 12:7903c0e55cd7 12 DigitalOut richting_motor1(D4);
sivuu 4:2b3fbd7ef1cf 13 PwmOut pwm_motor1(D5);
sivuu 12:7903c0e55cd7 14 DigitalOut richting_motor2(D7);
sivuu 4:2b3fbd7ef1cf 15 PwmOut pwm_motor2(D6);
sivuu 12:7903c0e55cd7 16 int n = 0; //start van de teller wordt op nul gesteld
sivuu 2:4dcdf7755a04 17
sivuu 3:34f7c16a6a7f 18 void SwitchN() { // maakt simpele functie die 1 bij n optelt
sivuu 2:4dcdf7755a04 19 n++;
sivuu 2:4dcdf7755a04 20 }
sivuu 12:7903c0e55cd7 21
sivuu 2:4dcdf7755a04 22
sivuu 0:b7cb5d3978b5 23 int main()
sivuu 0:b7cb5d3978b5 24 {
sivuu 12:7903c0e55cd7 25 pc.baud(115200); // zorgt voor de link voor putty, 115200 is snelheid
sivuu 12:7903c0e55cd7 26 const float a=1.0;
sivuu 12:7903c0e55cd7 27 const float b=10.0;
sivuu 12:7903c0e55cd7 28
sivuu 3:34f7c16a6a7f 29 while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt
sivuu 2:4dcdf7755a04 30
sivuu 12:7903c0e55cd7 31 sw3.fall(&SwitchN); // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt
sivuu 12:7903c0e55cd7 32
sivuu 0:b7cb5d3978b5 33
sivuu 12:7903c0e55cd7 34
sivuu 12:7903c0e55cd7 35 if (button_cw==0) // als s ingedrukt wordt gebeurd het volgende
sivuu 3:34f7c16a6a7f 36 {
sivuu 3:34f7c16a6a7f 37 if (n%2==0) // als s ingedrukt wordt en het getal is even gebeurd het onderstaande
sivuu 3:34f7c16a6a7f 38 {
sivuu 3:34f7c16a6a7f 39 pc.printf("n is even \n\r"); // print lijn "n is even"
sivuu 4:2b3fbd7ef1cf 40 pc.printf("up \n\r"); // print lijn "up"
sivuu 12:7903c0e55cd7 41 richting_motor1 = 1;
sivuu 12:7903c0e55cd7 42 pwm_motor1 = a;
sivuu 12:7903c0e55cd7 43 ledcw=1; ledccw=0;
sivuu 12:7903c0e55cd7 44
sivuu 3:34f7c16a6a7f 45 }
sivuu 7:9dc08a9a5991 46
sivuu 3:34f7c16a6a7f 47 else // als s is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande
sivuu 3:34f7c16a6a7f 48 {
sivuu 3:34f7c16a6a7f 49 pc.printf("n is odd \n\r"); // print lijn "n is odd"
sivuu 3:34f7c16a6a7f 50 pc.printf("left \n\r"); // print lijn "left"
sivuu 12:7903c0e55cd7 51 richting_motor2 = 1;
sivuu 12:7903c0e55cd7 52 pwm_motor2 = b;
sivuu 12:7903c0e55cd7 53 ledcw=1;
sivuu 12:7903c0e55cd7 54 ledccw=1;
sivuu 4:2b3fbd7ef1cf 55 }
sivuu 7:9dc08a9a5991 56
sivuu 3:34f7c16a6a7f 57 }
sivuu 12:7903c0e55cd7 58 else if (button_ccw==0) // als d ingedrukt wordt gebeurd het volgende
sivuu 3:34f7c16a6a7f 59 {
sivuu 3:34f7c16a6a7f 60 if (n%2==0) // als d is ingedrukt en n is even dan gebeurd het volgende
sivuu 3:34f7c16a6a7f 61 {
sivuu 3:34f7c16a6a7f 62 pc.printf("n is even \n\r"); // print lijn "n is even"
sivuu 3:34f7c16a6a7f 63 pc.printf("down \n\r"); // print lijn "down"
sivuu 12:7903c0e55cd7 64 richting_motor1 = 0;
sivuu 12:7903c0e55cd7 65 pwm_motor1 = a;
sivuu 12:7903c0e55cd7 66 ledccw=1; ledcw=0;
sivuu 12:7903c0e55cd7 67
sivuu 12:7903c0e55cd7 68
sivuu 3:34f7c16a6a7f 69 }
sivuu 3:34f7c16a6a7f 70 else // als d is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande
sivuu 3:34f7c16a6a7f 71 {
sivuu 3:34f7c16a6a7f 72 pc.printf("n is odd \n\r"); // print lijn "n is odd"
sivuu 3:34f7c16a6a7f 73 pc.printf("right \n\r"); // print lijn "right"
sivuu 12:7903c0e55cd7 74 richting_motor2 = 0;
sivuu 12:7903c0e55cd7 75 pwm_motor2 = b;
sivuu 12:7903c0e55cd7 76 ledccw=1; ledcw=0;
sivuu 12:7903c0e55cd7 77
sivuu 12:7903c0e55cd7 78 }
sivuu 12:7903c0e55cd7 79 }
sivuu 12:7903c0e55cd7 80 else{
sivuu 12:7903c0e55cd7 81 pc.printf("motor staat stil \n\r");
sivuu 12:7903c0e55cd7 82 pwm_motor2=0;
sivuu 12:7903c0e55cd7 83 pwm_motor1=0;
sivuu 12:7903c0e55cd7 84 ledccw=0; ;ledcw=0;
sivuu 12:7903c0e55cd7 85 }
sivuu 12:7903c0e55cd7 86
sivuu 3:34f7c16a6a7f 87
sivuu 0:b7cb5d3978b5 88 }
sivuu 3:34f7c16a6a7f 89 }
sivuu 3:34f7c16a6a7f 90