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@8:4f15670bc00b, 2018-10-08 (annotated)
- Committer:
- efvanmarrewijk
- Date:
- Mon Oct 08 09:37:48 2018 +0000
- Revision:
- 8:4f15670bc00b
- Parent:
- 7:7c005b3cf288
Niet werkende versie
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" |
efvanmarrewijk | 8:4f15670bc00b | 3 | #include <math.h> |
Ramonwaninge | 0:3ea1bbfbeaae | 4 | |
Ramonwaninge | 0:3ea1bbfbeaae | 5 | Ticker motor; |
Ramonwaninge | 0:3ea1bbfbeaae | 6 | |
Ramonwaninge | 4:0c27632b453a | 7 | AnalogIn pot1(A1); |
Ramonwaninge | 5:047db32db712 | 8 | AnalogIn pot2(A2); |
efvanmarrewijk | 6:3c9569087274 | 9 | FastPWM pin5(D5); // Motor 2 pwm |
efvanmarrewijk | 6:3c9569087274 | 10 | DigitalOut pin4(D4); // Motor 2 direction |
efvanmarrewijk | 6:3c9569087274 | 11 | FastPWM pin6(D6); // Motor 1 pwm |
efvanmarrewijk | 6:3c9569087274 | 12 | DigitalOut pin7(D7); // Motor 1 direction |
efvanmarrewijk | 6:3c9569087274 | 13 | //float u1 = pot1; |
Ramonwaninge | 2:d8a552d1d33a | 14 | |
efvanmarrewijk | 8:4f15670bc00b | 15 | //float rad1 = 1.0/4.0*PI; // Desired angle of motor 1 (needs to be calculated by the program) |
efvanmarrewijk | 8:4f15670bc00b | 16 | //float nrad1; |
efvanmarrewijk | 8:4f15670bc00b | 17 | |
Ramonwaninge | 3:d39285fdd103 | 18 | void draai(){ |
efvanmarrewijk | 7:7c005b3cf288 | 19 | float u1 = 2.0*(pot1 - 0.5); // Potmeter 1 connects to motor 1 |
efvanmarrewijk | 8:4f15670bc00b | 20 | if (u1>0) // Determines direction of motor 1 |
efvanmarrewijk | 8:4f15670bc00b | 21 | { pin4 = true; |
efvanmarrewijk | 8:4f15670bc00b | 22 | } |
efvanmarrewijk | 8:4f15670bc00b | 23 | else |
efvanmarrewijk | 8:4f15670bc00b | 24 | { pin4 = false; |
efvanmarrewijk | 8:4f15670bc00b | 25 | } |
efvanmarrewijk | 7:7c005b3cf288 | 26 | pin5 = fabs(u1); // Determines pwm of motor 1 |
efvanmarrewijk | 6:3c9569087274 | 27 | |
efvanmarrewijk | 7:7c005b3cf288 | 28 | float u2 = 2.0*(pot2 - 0.5); // Potmeter 2 connects to motor 2 |
efvanmarrewijk | 8:4f15670bc00b | 29 | if (u2>0) // Determines direction of motor 2 |
efvanmarrewijk | 8:4f15670bc00b | 30 | { pin7 = true; |
efvanmarrewijk | 8:4f15670bc00b | 31 | } |
efvanmarrewijk | 8:4f15670bc00b | 32 | else |
efvanmarrewijk | 8:4f15670bc00b | 33 | { pin7 = false; |
efvanmarrewijk | 8:4f15670bc00b | 34 | } |
efvanmarrewijk | 7:7c005b3cf288 | 35 | pin6 = fabs(u2); // Determines pwm of motor 2 |
Ramonwaninge | 3:d39285fdd103 | 36 | } |
Ramonwaninge | 1:e40e981acbf1 | 37 | int main(){ |
efvanmarrewijk | 8:4f15670bc00b | 38 | |
efvanmarrewijk | 8:4f15670bc00b | 39 | |
efvanmarrewijk | 7:7c005b3cf288 | 40 | while(true) |
efvanmarrewijk | 8:4f15670bc00b | 41 | { //nrad1 = rad1/PI; // Normalised desired angle of motor 1 |
efvanmarrewijk | 8:4f15670bc00b | 42 | pin5.period_us(50); |
efvanmarrewijk | 8:4f15670bc00b | 43 | motor.attach(draai, 0.001); |
efvanmarrewijk | 8:4f15670bc00b | 44 | pin6.period_us(50); |
efvanmarrewijk | 8:4f15670bc00b | 45 | motor.attach(draai, 0.001); |
Ramonwaninge | 3:d39285fdd103 | 46 | } |
Ramonwaninge | 0:3ea1bbfbeaae | 47 | } |