Simple Interface for Toshiba's TB6612FNG H-Bridge Motor Driver
TB6612FNG.h
- Committer:
- humlet
- Date:
- 2013-03-06
- Revision:
- 1:3dd9137a5cec
- Parent:
- 0:30d6828516f5
- Child:
- 2:73d5d7514e4c
File content as of revision 1:3dd9137a5cec:
/** * H-Bridge / Motor Driver TB6612FNG Control Library */ #ifndef TB6612FNG_H #define TB6612FNG_H #include "mbed.h" class TB6612FNG { PwmOut m_pwm; DigitalOut m_ctrl1; DigitalOut m_ctrl2; int m_pw; bool m_on; bool m_brakeOnZeroDC; int m_period; public: /** Create TB6612FNG object connected to the specified mbed pins * @param pwm PwmOut pin * @param ctrl1/ctrl2 DigitalOut control pin * @param pwmPeriod is the PWM period setting in µs * @param brakeOnZeroDC if true the motor brakes on zero pulse width setting */ TB6612FNG(PinName pwm, PinName ctrl1, PinName ctrl2, int pwmPeriod=1000, bool brakeOnZeroDC=true); /// Set the duty cycle /// @param pw is the PWM pulse width setting in µs void setPulseWidth(int pw); /// activates the motor at duty cycle adjusted with setPulseWidth void on(); /// deactivates the motor (sets the motor output to high impedance, no short brake) void off(); /// brakes the motor by shorting it void brake(); /// pulse width assignment /// @param pw is the PWM pulse width setting in µs void operator=(int pw) { setPulseWidth(pw); } }; #endif