Create a motor object, to control a motor using L293DNE and FDRM-KL46z.
Dependencies: mbed
Motor.cpp@0:c542014a089d, 2016-08-19 (annotated)
- Committer:
- ziadeldebri
- Date:
- Fri Aug 19 01:51:07 2016 +0000
- Revision:
- 0:c542014a089d
- Child:
- 1:4040dba1ef4c
ECE111 Page
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ziadeldebri | 0:c542014a089d | 1 | #include "mbed.h" |
ziadeldebri | 0:c542014a089d | 2 | #include "Motor.h" |
ziadeldebri | 0:c542014a089d | 3 | |
ziadeldebri | 0:c542014a089d | 4 | Motor::Motor(PinName Positive, PinName Negative,PinName Speed): |
ziadeldebri | 0:c542014a089d | 5 | _positive(Positive), _negative(Negative), _speed(Speed) { |
ziadeldebri | 0:c542014a089d | 6 | _speed.period(0.03f); // 4 second period |
ziadeldebri | 0:c542014a089d | 7 | _speed.write(0.20f); |
ziadeldebri | 0:c542014a089d | 8 | } |
ziadeldebri | 0:c542014a089d | 9 | /* Input 1 or 2. |
ziadeldebri | 0:c542014a089d | 10 | * 1 : Postive VCC Negtaive GND, 2 : Postive GND Negtaive VCC. |
ziadeldebri | 0:c542014a089d | 11 | */ |
ziadeldebri | 0:c542014a089d | 12 | void Motor::Direction(int move) { |
ziadeldebri | 0:c542014a089d | 13 | if(move == 1){ |
ziadeldebri | 0:c542014a089d | 14 | _positive = 1; |
ziadeldebri | 0:c542014a089d | 15 | _negative = 0; |
ziadeldebri | 0:c542014a089d | 16 | } |
ziadeldebri | 0:c542014a089d | 17 | else if(move == 2){ |
ziadeldebri | 0:c542014a089d | 18 | _positive = 0; |
ziadeldebri | 0:c542014a089d | 19 | _negative = 1; |
ziadeldebri | 0:c542014a089d | 20 | } |
ziadeldebri | 0:c542014a089d | 21 | }//End of Direction |
ziadeldebri | 0:c542014a089d | 22 | |
ziadeldebri | 0:c542014a089d | 23 | /* No input. |
ziadeldebri | 0:c542014a089d | 24 | * 1 : Postive GND Negtaive GND |
ziadeldebri | 0:c542014a089d | 25 | */ |
ziadeldebri | 0:c542014a089d | 26 | void Motor::Stop() { |
ziadeldebri | 0:c542014a089d | 27 | _positive = 0; |
ziadeldebri | 0:c542014a089d | 28 | _negative = 0; |
ziadeldebri | 0:c542014a089d | 29 | }//End of Stop |
ziadeldebri | 0:c542014a089d | 30 | |
ziadeldebri | 0:c542014a089d | 31 | void Motor::Speed(int motor_speed) { |
ziadeldebri | 0:c542014a089d | 32 | float percantage = motor_speed/100; |
ziadeldebri | 0:c542014a089d | 33 | _speed.write(percantage); |
ziadeldebri | 0:c542014a089d | 34 | }//End of Speed |