Create a motor object, to control a motor using L293DNE and FDRM-KL46z.

Dependencies:   mbed

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?

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