Simple Interface for Toshiba's TB6612FNG H-Bridge Motor Driver
TB6612FNG.h
- Committer:
- humlet
- Date:
- 2013-03-06
- Revision:
- 2:73d5d7514e4c
- Parent:
- 1:3dd9137a5cec
- Child:
- 3:1ae4f0bb91c6
File content as of revision 2:73d5d7514e4c:
#ifndef TB6612FNG_H #define TB6612FNG_H #include "mbed.h" /// Simple Interface for Toshiba's TB6612FNG H-Bridge Motor Driver 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 name * @param ctrl1/ctrl2 DigitalOut control pin name * @param pwmPeriod sets the PWM period (µs) * @param brakeOnZeroDC true: The motor brakes on zero pulse width setting. * false: The motor output is set to high impedance */ TB6612FNG(PinName pwm, PinName ctrl1, PinName ctrl2, int pwmPeriod=1000, bool brakeOnZeroDC=true); /** Sets the PWM pulse width * @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