Ramon Waninge / Mbed 2 deprecated Milestone1

Dependencies:   FastPWM mbed QEI biquadFilter HIDScope MODSERIAL

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?

UserRevisionLine numberNew 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 }