Control an H-Bridge using a PwmOut (enable) and two DigitalOuts (direction select)
Fork of Motor by
Diff: MotorR.h
- Revision:
- 9:9b00a28bc790
diff -r d192b38e0d5c -r 9b00a28bc790 MotorR.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MotorR.h Fri May 15 13:44:38 2015 +0000 @@ -0,0 +1,57 @@ +#ifndef MBED_MOTORR_H +#define MBED_MOTORR_H + +#include "mbed.h" +//#include "PID.h" + +/*nastawy regulatora PID*/ +/* +const float K = 1; +const float Ti = 0; +const float Td = 0; +const float itv = 0.001; +#define AUTO 1 +*/ +/** Interface to control a standard DC motor +* +* with an H-bridge using a PwmOut and 2 DigitalOuts +*/ +class MotorR { +public: + + /** Create a motor control interface + * + * @param pwm A PwmOut pin, driving the H-bridge enable line to control the speed + * @param fwd A DigitalOut, set high when the motor should go forward + * @param rev A DigitalOut, set high when the motor should go backwards + */ + MotorR(PinName pwm, PinName fwd, PinName rev, PinName stby); + + /** Set the speed of the motor + * + * @param speed The speed of the motor as a normalised value between -1.0 and 1.0 + */ + void speed(float speed); + + /**Change the stand by status of H-bridge + * + * @param status 0 - bridge disabled, 1 - bridge enabled + */ + void setStandby(bool status) + { + _stdby = status; + } + +protected: + PwmOut _pwm; + DigitalOut _fwd; + DigitalOut _rev; + DigitalOut _stdby; +private: + //PID speedControl; + //QEI encoder; + float set_speed; + +}; + +#endif