Create a motor object, to control a motor using L293DNE and FDRM-KL46z.
Dependencies: mbed
Motor.h@3:41acca236570, 2017-10-25 (annotated)
- Committer:
- Dogcatfee
- Date:
- Wed Oct 25 00:05:33 2017 +0000
- Revision:
- 3:41acca236570
- Parent:
- 2:538f0e257365
Remove Errors, Use export friendly mbed library.
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 | |
ziadeldebri | 0:c542014a089d | 3 | #ifndef MBED_MOTOR_H |
ziadeldebri | 0:c542014a089d | 4 | #define MBED_MOTOR_H |
ziadeldebri | 1:4040dba1ef4c | 5 | #define LEFT 1 |
ziadeldebri | 1:4040dba1ef4c | 6 | #define RIGHT 2 |
ziadeldebri | 0:c542014a089d | 7 | /** Motor class, create motor object to control speed and direction. |
ziadeldebri | 0:c542014a089d | 8 | * |
ziadeldebri | 0:c542014a089d | 9 | * Example: |
ziadeldebri | 0:c542014a089d | 10 | * @code |
ziadeldebri | 0:c542014a089d | 11 | * #include "mbed.h" |
ziadeldebri | 0:c542014a089d | 12 | * #include "Motor.h" |
ziadeldebri | 0:c542014a089d | 13 | * Motor my_motor(P12,P13P,p11); |
ziadeldebri | 0:c542014a089d | 14 | * |
ziadeldebri | 0:c542014a089d | 15 | * int main() { |
ziadeldebri | 1:4040dba1ef4c | 16 | * my_motor.Direction(LEFT); |
ziadeldebri | 1:4040dba1ef4c | 17 | * wait(0.1); |
ziadeldebri | 0:c542014a089d | 18 | * } |
ziadeldebri | 0:c542014a089d | 19 | * @endcode |
ziadeldebri | 0:c542014a089d | 20 | */ |
ziadeldebri | 1:4040dba1ef4c | 21 | class Motor { |
ziadeldebri | 0:c542014a089d | 22 | |
ziadeldebri | 0:c542014a089d | 23 | public: |
ziadeldebri | 0:c542014a089d | 24 | /** Create a motor object. |
ziadeldebri | 0:c542014a089d | 25 | * |
ziadeldebri | 0:c542014a089d | 26 | * @param Postive input of A1 on L293DNE |
ziadeldebri | 0:c542014a089d | 27 | * @param Negative input of A2 on L293DNE |
ziadeldebri | 0:c542014a089d | 28 | * @param Speed PWM output -> EN1,2 on L293DNE |
ziadeldebri | 0:c542014a089d | 29 | * |
ziadeldebri | 0:c542014a089d | 30 | */ |
ziadeldebri | 2:538f0e257365 | 31 | Motor (PinName Positive, PinName Negative); |
ziadeldebri | 0:c542014a089d | 32 | |
ziadeldebri | 1:4040dba1ef4c | 33 | /** control the direction of the movement |
ziadeldebri | 0:c542014a089d | 34 | * |
ziadeldebri | 0:c542014a089d | 35 | * @param move is LEFT or RIGHT defined as 1 and 2 in Motor.h |
ziadeldebri | 0:c542014a089d | 36 | * |
ziadeldebri | 0:c542014a089d | 37 | */ |
ziadeldebri | 0:c542014a089d | 38 | void Direction(int move); |
ziadeldebri | 0:c542014a089d | 39 | |
ziadeldebri | 0:c542014a089d | 40 | /** Stop the motor |
ziadeldebri | 0:c542014a089d | 41 | * |
ziadeldebri | 0:c542014a089d | 42 | * |
ziadeldebri | 0:c542014a089d | 43 | */ |
ziadeldebri | 0:c542014a089d | 44 | void Stop(); |
ziadeldebri | 1:4040dba1ef4c | 45 | /** control the speed of the motor object |
ziadeldebri | 0:c542014a089d | 46 | * |
ziadeldebri | 0:c542014a089d | 47 | * @param motor_speed from 0 to 100. 0 is the slowest and 100 is max speed. |
ziadeldebri | 0:c542014a089d | 48 | * |
ziadeldebri | 0:c542014a089d | 49 | */ |
ziadeldebri | 0:c542014a089d | 50 | void Speed(int motor_speed); |
ziadeldebri | 0:c542014a089d | 51 | |
ziadeldebri | 0:c542014a089d | 52 | protected: |
ziadeldebri | 2:538f0e257365 | 53 | PwmOut _positive; |
ziadeldebri | 2:538f0e257365 | 54 | PwmOut _negative; |
ziadeldebri | 0:c542014a089d | 55 | }; |
ziadeldebri | 0:c542014a089d | 56 | |
ziadeldebri | 0:c542014a089d | 57 | #endif |
ziadeldebri | 0:c542014a089d | 58 |