rampscenario
Dependencies: MODSERIAL QEI mbed
Fork of check_motoren_buttons by
main.cpp@13:ba5713727343, 2016-09-30 (annotated)
- Committer:
- daniQQue
- Date:
- Fri Sep 30 13:12:18 2016 +0000
- Revision:
- 13:ba5713727343
- Parent:
- 12:20b8999018df
- Child:
- 14:091953e55c1d
motor 2 sneller dan 1/.
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 | 12:20b8999018df | 7 | DigitalIn button_cw(D11); |
daniQQue | 12:20b8999018df | 8 | DigitalIn button_ccw(D9); |
daniQQue | 12:20b8999018df | 9 | DigitalOut ledcw(D10); |
daniQQue | 12:20b8999018df | 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 |
sivuu | 6:e6a048f541ee | 26 | |
sivuu | 3:34f7c16a6a7f | 27 | while (true) { // zorgt er voor dat de code oneindig doorgelopen wordt |
sivuu | 2:4dcdf7755a04 | 28 | |
sivuu | 6:e6a048f541ee | 29 | sw3.fall(&SwitchN); // zorgt er voor dat void switch wordt gedaan als switch 3 wordt ingedrukt |
sivuu | 0:b7cb5d3978b5 | 30 | |
sivuu | 11:757787c47d3c | 31 | |
daniQQue | 12:20b8999018df | 32 | |
daniQQue | 12:20b8999018df | 33 | if (button_cw==0) // als s ingedrukt wordt gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 34 | { |
sivuu | 3:34f7c16a6a7f | 35 | if (n%2==0) // als s ingedrukt wordt en het getal is even gebeurd het onderstaande |
sivuu | 3:34f7c16a6a7f | 36 | { |
sivuu | 3:34f7c16a6a7f | 37 | pc.printf("n is even \n\r"); // print lijn "n is even" |
sivuu | 4:2b3fbd7ef1cf | 38 | pc.printf("up \n\r"); // print lijn "up" |
sivuu | 6:e6a048f541ee | 39 | richting_motor1 = 1; |
sivuu | 6:e6a048f541ee | 40 | pwm_motor1 = 1; |
daniQQue | 12:20b8999018df | 41 | ledcw=1; ledccw=0; |
daniQQue | 12:20b8999018df | 42 | |
sivuu | 3:34f7c16a6a7f | 43 | } |
sivuu | 6:e6a048f541ee | 44 | |
sivuu | 3:34f7c16a6a7f | 45 | else // als s is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande |
sivuu | 3:34f7c16a6a7f | 46 | { |
sivuu | 3:34f7c16a6a7f | 47 | pc.printf("n is odd \n\r"); // print lijn "n is odd" |
sivuu | 3:34f7c16a6a7f | 48 | pc.printf("left \n\r"); // print lijn "left" |
sivuu | 6:e6a048f541ee | 49 | richting_motor2 = 1; |
daniQQue | 13:ba5713727343 | 50 | pwm_motor2 = 5; |
daniQQue | 12:20b8999018df | 51 | ledcw=1; |
daniQQue | 12:20b8999018df | 52 | ledccw=1; |
sivuu | 6:e6a048f541ee | 53 | } |
sivuu | 6:e6a048f541ee | 54 | |
sivuu | 3:34f7c16a6a7f | 55 | } |
daniQQue | 12:20b8999018df | 56 | else if (button_ccw==0) // als d ingedrukt wordt gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 57 | { |
sivuu | 3:34f7c16a6a7f | 58 | if (n%2==0) // als d is ingedrukt en n is even dan gebeurd het volgende |
sivuu | 3:34f7c16a6a7f | 59 | { |
sivuu | 3:34f7c16a6a7f | 60 | pc.printf("n is even \n\r"); // print lijn "n is even" |
sivuu | 3:34f7c16a6a7f | 61 | pc.printf("down \n\r"); // print lijn "down" |
sivuu | 6:e6a048f541ee | 62 | richting_motor1 = 0; |
sivuu | 4:2b3fbd7ef1cf | 63 | pwm_motor1 = 1; |
daniQQue | 12:20b8999018df | 64 | ledccw=1; ledcw=0; |
daniQQue | 12:20b8999018df | 65 | |
sivuu | 6:e6a048f541ee | 66 | |
sivuu | 3:34f7c16a6a7f | 67 | } |
sivuu | 3:34f7c16a6a7f | 68 | else // als d is ingedrukt maar het getal is niet even (dus oneven) gebeurdt het onderstaande |
sivuu | 3:34f7c16a6a7f | 69 | { |
sivuu | 3:34f7c16a6a7f | 70 | pc.printf("n is odd \n\r"); // print lijn "n is odd" |
sivuu | 3:34f7c16a6a7f | 71 | pc.printf("right \n\r"); // print lijn "right" |
sivuu | 6:e6a048f541ee | 72 | richting_motor2 = 0; |
daniQQue | 13:ba5713727343 | 73 | pwm_motor2 = 5; |
daniQQue | 12:20b8999018df | 74 | ledccw=1; ledcw=0; |
daniQQue | 12:20b8999018df | 75 | |
sivuu | 8:432dc3ed8ea3 | 76 | } |
sivuu | 11:757787c47d3c | 77 | } |
sivuu | 11:757787c47d3c | 78 | else{ |
sivuu | 11:757787c47d3c | 79 | pc.printf("motor staat stil \n\r"); |
sivuu | 11:757787c47d3c | 80 | pwm_motor2=0; |
sivuu | 8:432dc3ed8ea3 | 81 | pwm_motor1=0; |
daniQQue | 13:ba5713727343 | 82 | ledccw=0; ;ledcw=0; |
sivuu | 6:e6a048f541ee | 83 | } |
sivuu | 8:432dc3ed8ea3 | 84 | |
sivuu | 3:34f7c16a6a7f | 85 | |
sivuu | 0:b7cb5d3978b5 | 86 | } |
sivuu | 3:34f7c16a6a7f | 87 | } |
sivuu | 3:34f7c16a6a7f | 88 |