Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FastPWM mbed QEI biquadFilter HIDScope MODSERIAL
main.cpp@9:65c52c1f4a57, 2018-10-08 (annotated)
- Committer:
- efvanmarrewijk
- Date:
- Mon Oct 08 10:30:19 2018 +0000
- Revision:
- 9:65c52c1f4a57
- Parent:
- 6:3c9569087274
- Child:
- 10:ac36f9a204dd
3 werkende motoren, de 3e motor werkt met buttons op de K64F, die zorgen voor een richtingsverandering en nog niet een snelheidsverandering
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Ramonwaninge | 0:3ea1bbfbeaae | 1 | #include "mbed.h" |
Ramonwaninge | 0:3ea1bbfbeaae | 2 | #include "FastPWM.h" |
Ramonwaninge | 0:3ea1bbfbeaae | 3 | |
Ramonwaninge | 0:3ea1bbfbeaae | 4 | |
Ramonwaninge | 0:3ea1bbfbeaae | 5 | Ticker motor; |
Ramonwaninge | 0:3ea1bbfbeaae | 6 | |
efvanmarrewijk | 6:3c9569087274 | 7 | |
Ramonwaninge | 4:0c27632b453a | 8 | AnalogIn pot1(A1); |
Ramonwaninge | 5:047db32db712 | 9 | AnalogIn pot2(A2); |
efvanmarrewijk | 9:65c52c1f4a57 | 10 | InterruptIn button2(SW2); |
efvanmarrewijk | 9:65c52c1f4a57 | 11 | InterruptIn button3(SW3); |
efvanmarrewijk | 9:65c52c1f4a57 | 12 | |
efvanmarrewijk | 9:65c52c1f4a57 | 13 | FastPWM pin3(D3); // Motor 3 pwm |
efvanmarrewijk | 9:65c52c1f4a57 | 14 | DigitalOut pin2(D2); // Motor 3 direction |
efvanmarrewijk | 6:3c9569087274 | 15 | FastPWM pin5(D5); // Motor 2 pwm |
efvanmarrewijk | 6:3c9569087274 | 16 | DigitalOut pin4(D4); // Motor 2 direction |
efvanmarrewijk | 6:3c9569087274 | 17 | FastPWM pin6(D6); // Motor 1 pwm |
efvanmarrewijk | 6:3c9569087274 | 18 | DigitalOut pin7(D7); // Motor 1 direction |
efvanmarrewijk | 6:3c9569087274 | 19 | //float u1 = pot1; |
Ramonwaninge | 2:d8a552d1d33a | 20 | |
efvanmarrewijk | 9:65c52c1f4a57 | 21 | float b; |
efvanmarrewijk | 9:65c52c1f4a57 | 22 | |
efvanmarrewijk | 9:65c52c1f4a57 | 23 | void draaisnel() |
efvanmarrewijk | 9:65c52c1f4a57 | 24 | { if(button2 == 1) |
efvanmarrewijk | 9:65c52c1f4a57 | 25 | { //Hier maak ik een interrupt voor meer snelheid |
efvanmarrewijk | 9:65c52c1f4a57 | 26 | b = 0.4; //In stapjes van 0.1 |
efvanmarrewijk | 9:65c52c1f4a57 | 27 | pin3 = fabs(b); |
efvanmarrewijk | 9:65c52c1f4a57 | 28 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 29 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 30 | void draailangzaam() |
efvanmarrewijk | 9:65c52c1f4a57 | 31 | { if(button3 == 1) |
efvanmarrewijk | 9:65c52c1f4a57 | 32 | { //Interrupt voor minder snelheid |
efvanmarrewijk | 9:65c52c1f4a57 | 33 | b = -0.4; |
efvanmarrewijk | 9:65c52c1f4a57 | 34 | pin3 = fabs(b); |
efvanmarrewijk | 9:65c52c1f4a57 | 35 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 36 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 37 | |
efvanmarrewijk | 9:65c52c1f4a57 | 38 | void draai() |
efvanmarrewijk | 9:65c52c1f4a57 | 39 | { if (b>0) |
efvanmarrewijk | 9:65c52c1f4a57 | 40 | { pin2 = true; |
efvanmarrewijk | 9:65c52c1f4a57 | 41 | b = b+0.1; |
efvanmarrewijk | 9:65c52c1f4a57 | 42 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 43 | else if(b<0) |
efvanmarrewijk | 9:65c52c1f4a57 | 44 | { pin2 = false; |
efvanmarrewijk | 9:65c52c1f4a57 | 45 | b = b-0.1; |
efvanmarrewijk | 9:65c52c1f4a57 | 46 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 47 | else |
efvanmarrewijk | 9:65c52c1f4a57 | 48 | { pin3 = 0; |
efvanmarrewijk | 9:65c52c1f4a57 | 49 | } |
efvanmarrewijk | 9:65c52c1f4a57 | 50 | pin3 = fabs(b); |
efvanmarrewijk | 9:65c52c1f4a57 | 51 | |
efvanmarrewijk | 6:3c9569087274 | 52 | float u1 = 2.0*(pot1 - 0.5); |
efvanmarrewijk | 6:3c9569087274 | 53 | if (u1>0) |
efvanmarrewijk | 6:3c9569087274 | 54 | { pin4 = true; |
efvanmarrewijk | 6:3c9569087274 | 55 | } |
efvanmarrewijk | 6:3c9569087274 | 56 | else if(u1<0) |
efvanmarrewijk | 6:3c9569087274 | 57 | { pin4 = false; |
efvanmarrewijk | 6:3c9569087274 | 58 | } |
efvanmarrewijk | 6:3c9569087274 | 59 | pin5 = fabs(u1); |
efvanmarrewijk | 6:3c9569087274 | 60 | |
efvanmarrewijk | 6:3c9569087274 | 61 | float u2 = 2.0*(pot2 - 0.5); |
efvanmarrewijk | 6:3c9569087274 | 62 | if (u2>0) |
efvanmarrewijk | 6:3c9569087274 | 63 | { pin7 = true; |
efvanmarrewijk | 6:3c9569087274 | 64 | } |
efvanmarrewijk | 6:3c9569087274 | 65 | else if(u2<0) |
efvanmarrewijk | 6:3c9569087274 | 66 | { pin7 = false; |
efvanmarrewijk | 6:3c9569087274 | 67 | } |
efvanmarrewijk | 6:3c9569087274 | 68 | pin6 = fabs(u2); |
Ramonwaninge | 3:d39285fdd103 | 69 | } |
Ramonwaninge | 1:e40e981acbf1 | 70 | int main(){ |
efvanmarrewijk | 9:65c52c1f4a57 | 71 | |
efvanmarrewijk | 9:65c52c1f4a57 | 72 | pin5.period(1.0/10000); |
efvanmarrewijk | 9:65c52c1f4a57 | 73 | button2.rise(&draaisnel); // interrupt koppelen |
efvanmarrewijk | 9:65c52c1f4a57 | 74 | button3.rise(&draailangzaam); |
efvanmarrewijk | 9:65c52c1f4a57 | 75 | |
efvanmarrewijk | 9:65c52c1f4a57 | 76 | pin3.period_us(50); |
efvanmarrewijk | 9:65c52c1f4a57 | 77 | motor.attach(draai, 0.001); |
Ramonwaninge | 1:e40e981acbf1 | 78 | |
efvanmarrewijk | 6:3c9569087274 | 79 | pin5.period_us(50); |
efvanmarrewijk | 6:3c9569087274 | 80 | motor.attach(draai, 0.001); |
efvanmarrewijk | 6:3c9569087274 | 81 | |
efvanmarrewijk | 6:3c9569087274 | 82 | pin6.period_us(50); |
efvanmarrewijk | 6:3c9569087274 | 83 | motor.attach(draai, 0.001); |
Ramonwaninge | 3:d39285fdd103 | 84 | while(true){ |
Ramonwaninge | 4:0c27632b453a | 85 | |
Ramonwaninge | 3:d39285fdd103 | 86 | } |
Ramonwaninge | 0:3ea1bbfbeaae | 87 | } |