This library is an attempt to encapsulate the Pololu motor board MC33926 Motor Driver Carrier.
http://www.pololu.com/catalog/product/1213
Dual MC33926 Motor Driver Carrier
This dual brushed DC motor driver, based on Freescale’s MC33926 full H-bridge, has a wide operating range of 5 – 28 V and can deliver almost 3 A continuously (5 A peak) to each of its two motor channels. The MC33926 works with 3 – 5 V logic levels, supports ultrasonic (up to 20 kHz) PWM, and features current feedback, under-voltage protection, over-current protection, and over-temperature protection.
Motor.cpp
- Committer:
- buckeyes1997
- Date:
- 2013-02-11
- Revision:
- 0:b7c4b6de973e
- Child:
- 1:69e4a93b718d
File content as of revision 0:b7c4b6de973e:
#include "Motor.h" #include "mbed.h" Motor::Motor(PinName pwm, PinName dir1, PinName dir2): _pwm(pwm), _dir1(dir1), _dir2(dir2) { _direction=1; _pwm.period(0.00005); _pwm = 0; _dir1 = 0; _dir2 = 0; } float Motor::speed(float speed, bool direction) { if(direction == true) { _dir1=1; _dir2=0; } else { _dir1=0; _dir2=1; } _pwm = abs(speed); return speed; } float Motor::speed(float speed) { _pwm = abs(speed); return speed; } Motor& Motor::operator= (float speed) { _pwm = abs(speed); return *this; }