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
main.cpp@10:06d0fe6b3bcf, 2016-09-30 (annotated)
- Committer:
- sivuu
- Date:
- Fri Sep 30 11:45:34 2016 +0000
- Revision:
- 10:06d0fe6b3bcf
- Parent:
- 9:4870f0e789f8
- Child:
- 12:7903c0e55cd7
alles gecommend
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sivuu | 0:b7cb5d3978b5 | 1 | #include "mbed.h" |
sivuu | 3:34f7c16a6a7f | 2 | //#include "MODSERIAL.h" |
sivuu | 2:4dcdf7755a04 | 3 | |
sivuu | 9:4870f0e789f8 | 4 | //DigitalOut led(LED_RED); |
sivuu | 9:4870f0e789f8 | 5 | //DigitalOut led2(LED_BLUE); |
sivuu | 2:4dcdf7755a04 | 6 | InterruptIn sw3(SW3); |
sivuu | 0:b7cb5d3978b5 | 7 | Serial pc(USBTX, USBRX); |
sivuu | 4:2b3fbd7ef1cf | 8 | DigitalOut motor1(D4); |
sivuu | 4:2b3fbd7ef1cf | 9 | PwmOut pwm_motor1(D5); |
sivuu | 4:2b3fbd7ef1cf | 10 | DigitalOut motor2(D7); |
sivuu | 4:2b3fbd7ef1cf | 11 | PwmOut pwm_motor2(D6); |
sivuu | 2:4dcdf7755a04 | 12 | int n = 0; |
sivuu | 2:4dcdf7755a04 | 13 | |
sivuu | 3:34f7c16a6a7f | 14 | void SwitchN() { // maakt simpele functie die 1 bij n optelt |
sivuu | 2:4dcdf7755a04 | 15 | n++; |
sivuu | 2:4dcdf7755a04 | 16 | } |
sivuu | 2:4dcdf7755a04 | 17 | |
sivuu | 0:b7cb5d3978b5 | 18 | int main() |
sivuu | 0:b7cb5d3978b5 | 19 | { |
sivuu | 3:34f7c16a6a7f | 20 | pc.baud(115200); // zorgt voor de link voor putty |
sivuu | 3:34f7c16a6a7f | 21 | |
sivuu | 3:34f7c16a6a7f | 22 | while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt |
sivuu | 2:4dcdf7755a04 | 23 | |
sivuu | 3:34f7c16a6a7f | 24 | sw3.fall(&SwitchN); // zorrgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt |
sivuu | 0:b7cb5d3978b5 | 25 | |
sivuu | 3:34f7c16a6a7f | 26 | char c = pc.getc(); // zorgt ervoor dat er in het toetsenboard characters gebruikt kunnen worden |
sivuu | 0:b7cb5d3978b5 | 27 | |
sivuu | 3:34f7c16a6a7f | 28 | if (c=='s') // als s ingedrukt wordt gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 29 | { |
sivuu | 3:34f7c16a6a7f | 30 | if (n%2==0) // als s ingedrukt wordt en het getal is even gebeurd het onderstaande |
sivuu | 3:34f7c16a6a7f | 31 | { |
sivuu | 3:34f7c16a6a7f | 32 | pc.printf("n is even \n\r"); // print lijn "n is even" |
sivuu | 4:2b3fbd7ef1cf | 33 | pc.printf("up \n\r"); // print lijn "up" |
sivuu | 10:06d0fe6b3bcf | 34 | motor1 = 1; // zegt dat motor 1 clockwise draaid |
sivuu | 10:06d0fe6b3bcf | 35 | pwm_motor1 = 1; // zegt dat motor 1 op maximale snelheid draaid |
sivuu | 10:06d0fe6b3bcf | 36 | wait (0.03); // wacht van 0.03 seconde |
sivuu | 10:06d0fe6b3bcf | 37 | pwm_motor1 = 0; // zorgt er voor dat de snelheid van motor 1 uitgaat. |
sivuu | 3:34f7c16a6a7f | 38 | } |
sivuu | 7:9dc08a9a5991 | 39 | |
sivuu | 3:34f7c16a6a7f | 40 | else // als s is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande |
sivuu | 3:34f7c16a6a7f | 41 | { |
sivuu | 3:34f7c16a6a7f | 42 | pc.printf("n is odd \n\r"); // print lijn "n is odd" |
sivuu | 3:34f7c16a6a7f | 43 | pc.printf("left \n\r"); // print lijn "left" |
sivuu | 10:06d0fe6b3bcf | 44 | motor2 = 1; // zegt dat motor 2 clockwise draaid |
sivuu | 10:06d0fe6b3bcf | 45 | pwm_motor2 = 1; // zorgt er voor dat motor 2 maximale snelheid draaid |
sivuu | 10:06d0fe6b3bcf | 46 | wait (0.03); // wacht van 0.03 seconde |
sivuu | 10:06d0fe6b3bcf | 47 | pwm_motor2 = 0; // zorgt er voor dat de snelheid van motor 2 weer 0 wordt |
sivuu | 4:2b3fbd7ef1cf | 48 | } |
sivuu | 7:9dc08a9a5991 | 49 | |
sivuu | 3:34f7c16a6a7f | 50 | } |
sivuu | 3:34f7c16a6a7f | 51 | else if (c=='d') // als d ingedrukt wordt gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 52 | { |
sivuu | 3:34f7c16a6a7f | 53 | if (n%2==0) // als d is ingedrukt en n is even dan gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 54 | { |
sivuu | 3:34f7c16a6a7f | 55 | pc.printf("n is even \n\r"); // print lijn "n is even" |
sivuu | 3:34f7c16a6a7f | 56 | pc.printf("down \n\r"); // print lijn "down" |
sivuu | 10:06d0fe6b3bcf | 57 | motor1 = 0; // zorgt er voor dat motor 1 counter clockwise gaat draaien |
sivuu | 10:06d0fe6b3bcf | 58 | pwm_motor1 = 1; // zorgt er voor dat motor 1 maximale snelheid gaat draaien |
sivuu | 10:06d0fe6b3bcf | 59 | wait (0.03); // wacht van 0.03 seconde |
sivuu | 10:06d0fe6b3bcf | 60 | pwm_motor1 = 0; // zorgt er voor dat de snelheid van motor 1 nul wordt als de knop wordt losgelaten |
sivuu | 3:34f7c16a6a7f | 61 | } |
sivuu | 7:9dc08a9a5991 | 62 | |
sivuu | 3:34f7c16a6a7f | 63 | else // als d is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande |
sivuu | 3:34f7c16a6a7f | 64 | { |
sivuu | 3:34f7c16a6a7f | 65 | pc.printf("n is odd \n\r"); // print lijn "n is odd" |
sivuu | 3:34f7c16a6a7f | 66 | pc.printf("right \n\r"); // print lijn "right" |
sivuu | 10:06d0fe6b3bcf | 67 | motor2 = 0; // zorgt erg voor dat motor 2 counterclockwise draaid |
sivuu | 10:06d0fe6b3bcf | 68 | pwm_motor2 = 1; // zorgt er voor dat motor 2 maximale snelheid draaid |
sivuu | 10:06d0fe6b3bcf | 69 | wait (0.03); // wacht van 0.03 seconde |
sivuu | 10:06d0fe6b3bcf | 70 | pwm_motor2=0; // zorgt er voor dat de snelheid van motor 2 nul wordt als de knop wordt losgelaten |
sivuu | 4:2b3fbd7ef1cf | 71 | } |
sivuu | 7:9dc08a9a5991 | 72 | |
sivuu | 3:34f7c16a6a7f | 73 | } |
sivuu | 3:34f7c16a6a7f | 74 | |
sivuu | 0:b7cb5d3978b5 | 75 | } |
sivuu | 3:34f7c16a6a7f | 76 | } |
sivuu | 3:34f7c16a6a7f | 77 |