rampscenario
Dependencies: MODSERIAL QEI mbed
Fork of check_motoren_buttons by
main.cpp@18:75ced8c04eee, 2016-10-18 (annotated)
- Committer:
- daniQQue
- Date:
- Tue Oct 18 12:07:00 2016 +0000
- Revision:
- 18:75ced8c04eee
- Parent:
- 17:828683efceee
- Child:
- 19:9e87d4f9fbc4
ledjes uit;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
daniQQue | 12:20b8999018df | 1 | #include "mbed.h" //standaard bieb mbed |
daniQQue | 12:20b8999018df | 2 | #include "QEI.h" //bieb voor encoderfuncties in c++ |
daniQQue | 12:20b8999018df | 3 | #include "MODSERIAL.h" //bieb voor modserial |
sivuu | 2:4dcdf7755a04 | 4 | InterruptIn sw3(SW3); |
daniQQue | 12:20b8999018df | 5 | DigitalIn encoder1A(D13); |
daniQQue | 12:20b8999018df | 6 | DigitalIn encoder1B(D12); |
daniQQue | 17:828683efceee | 7 | DigitalIn button_cw(D9); |
daniQQue | 17:828683efceee | 8 | DigitalIn button_ccw(D8); |
daniQQue | 17:828683efceee | 9 | //DigitalOut ledcw(D10); |
daniQQue | 17:828683efceee | 10 | //DigitalOut ledccw(D2); |
daniQQue | 12:20b8999018df | 11 | MODSERIAL pc(USBTX, USBRX); |
sivuu | 6:e6a048f541ee | 12 | DigitalOut richting_motor1(D4); |
sivuu | 4:2b3fbd7ef1cf | 13 | PwmOut pwm_motor1(D5); |
sivuu | 6:e6a048f541ee | 14 | DigitalOut richting_motor2(D7); |
sivuu | 4:2b3fbd7ef1cf | 15 | PwmOut pwm_motor2(D6); |
sivuu | 6:e6a048f541ee | 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 | 11:757787c47d3c | 21 | |
sivuu | 2:4dcdf7755a04 | 22 | |
sivuu | 0:b7cb5d3978b5 | 23 | int main() |
sivuu | 0:b7cb5d3978b5 | 24 | { |
sivuu | 6:e6a048f541ee | 25 | pc.baud(115200); // zorgt voor de link voor putty, 115200 is snelheid |
daniQQue | 14:091953e55c1d | 26 | const float a=1.0; |
daniQQue | 16:611d2eb213e2 | 27 | const float b=10.0; |
daniQQue | 14:091953e55c1d | 28 | |
sivuu | 3:34f7c16a6a7f | 29 | while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt |
sivuu | 2:4dcdf7755a04 | 30 | |
sivuu | 6:e6a048f541ee | 31 | sw3.fall(&SwitchN); // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt |
sivuu | 0:b7cb5d3978b5 | 32 | |
sivuu | 11:757787c47d3c | 33 | |
daniQQue | 12:20b8999018df | 34 | |
daniQQue | 12:20b8999018df | 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 | 6:e6a048f541ee | 41 | richting_motor1 = 1; |
daniQQue | 14:091953e55c1d | 42 | pwm_motor1 = a; |
daniQQue | 18:75ced8c04eee | 43 | \\ ledcw=1; ledccw=0; |
daniQQue | 12:20b8999018df | 44 | |
sivuu | 3:34f7c16a6a7f | 45 | } |
sivuu | 6:e6a048f541ee | 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 | 6:e6a048f541ee | 51 | richting_motor2 = 1; |
daniQQue | 14:091953e55c1d | 52 | pwm_motor2 = b; |
daniQQue | 18:75ced8c04eee | 53 | \\ledcw=1; |
daniQQue | 18:75ced8c04eee | 54 | \\ledccw=1; |
sivuu | 6:e6a048f541ee | 55 | } |
sivuu | 6:e6a048f541ee | 56 | |
sivuu | 3:34f7c16a6a7f | 57 | } |
daniQQue | 12:20b8999018df | 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 | 6:e6a048f541ee | 64 | richting_motor1 = 0; |
daniQQue | 14:091953e55c1d | 65 | pwm_motor1 = a; |
daniQQue | 18:75ced8c04eee | 66 | \\ledccw=1; ledcw=0; |
daniQQue | 12:20b8999018df | 67 | |
sivuu | 6:e6a048f541ee | 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 | 6:e6a048f541ee | 74 | richting_motor2 = 0; |
daniQQue | 14:091953e55c1d | 75 | pwm_motor2 = b; |
daniQQue | 18:75ced8c04eee | 76 | \\ledccw=1; ledcw=0; |
daniQQue | 12:20b8999018df | 77 | |
sivuu | 8:432dc3ed8ea3 | 78 | } |
sivuu | 11:757787c47d3c | 79 | } |
sivuu | 11:757787c47d3c | 80 | else{ |
sivuu | 11:757787c47d3c | 81 | pc.printf("motor staat stil \n\r"); |
sivuu | 11:757787c47d3c | 82 | pwm_motor2=0; |
sivuu | 8:432dc3ed8ea3 | 83 | pwm_motor1=0; |
daniQQue | 18:75ced8c04eee | 84 | \\ledccw=0; ;ledcw=0; |
sivuu | 6:e6a048f541ee | 85 | } |
sivuu | 8:432dc3ed8ea3 | 86 | |
sivuu | 3:34f7c16a6a7f | 87 | |
sivuu | 0:b7cb5d3978b5 | 88 | } |
sivuu | 3:34f7c16a6a7f | 89 | } |
sivuu | 3:34f7c16a6a7f | 90 |