Control an H-Bridge using a PwmOut (enable) and two DigitalOuts (direction select)
Fork of Motor by
Motor.cpp@3:6da484a06159, 2016-09-26 (annotated)
- Committer:
- pr0jelly
- Date:
- Mon Sep 26 03:23:54 2016 +0000
- Revision:
- 3:6da484a06159
- Parent:
- 2:f265e441bcd9
442
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:a470311addc4 | 1 | |
simon | 0:a470311addc4 | 2 | #include "Motor.h" |
simon | 0:a470311addc4 | 3 | |
simon | 0:a470311addc4 | 4 | #include "mbed.h" |
simon | 0:a470311addc4 | 5 | |
simon | 0:a470311addc4 | 6 | Motor::Motor(PinName pwm, PinName fwd, PinName rev): |
simon | 0:a470311addc4 | 7 | _pwm(pwm), _fwd(fwd), _rev(rev) { |
simon | 0:a470311addc4 | 8 | |
simon | 0:a470311addc4 | 9 | // Set initial condition of PWM |
simon | 0:a470311addc4 | 10 | _pwm.period(0.001); |
simon | 0:a470311addc4 | 11 | _pwm = 0; |
simon | 0:a470311addc4 | 12 | |
simon | 0:a470311addc4 | 13 | // Initial condition of output enables |
simon | 0:a470311addc4 | 14 | _fwd = 0; |
simon | 0:a470311addc4 | 15 | _rev = 0; |
simon | 0:a470311addc4 | 16 | } |
simon | 0:a470311addc4 | 17 | |
simon | 0:a470311addc4 | 18 | void Motor::speed(float speed) { |
simon | 0:a470311addc4 | 19 | _fwd = (speed > 0.0); |
simon | 0:a470311addc4 | 20 | _rev = (speed < 0.0); |
simon | 0:a470311addc4 | 21 | _pwm = abs(speed); |
simon | 0:a470311addc4 | 22 | } |
simon | 0:a470311addc4 | 23 | |
simon | 0:a470311addc4 | 24 | |
simon | 0:a470311addc4 | 25 |