このライブラリは模型用のDCモータをmbedで直接制御します。 モータは正転、反転動作が可能です。 モータの回転速度は可変できます。 This library is directly controlled by a DC motor for model mbed. Motor forward rotation, inversion operation is possible. The motor speed is adjustable.
Dependents: adxl335_motor_direction
DcMotorDirectDrive.cpp
- Committer:
- suupen
- Date:
- 2011-12-05
- Revision:
- 0:ade473623320
File content as of revision 0:ade473623320:
/********************************************************** * DcMotorDirectDrive.cpp * Dc motor direct drive library * **********************************************************/ #define _DCMOTORDIRECTDRIVE_C #include "types.h" #include "mbed.h" #include "DcMotorDirectDrive.h" /** DC motor direct drive object connected to the specified DigtalOutput pin */ DcMotorDirectDrive::DcMotorDirectDrive(PinName pwmPin, PinName referencePin) : _pwmPin(pwmPin), _referencePin(referencePin){ // pwm setting _referencePin = 0; _pwmPin.period_us(Z_pwmPeriod); // pwm period 0.1[ms](10[kHz]) _pwmPin.write(0.0); } /************************************** * main **************************************/ void DcMotorDirectDrive::DcMotorDirectDrive_main(float request) { if(request > Z_stopRange){ // normal rotation _referencePin = 0; _pwmPin.write(request); } else if(request < -Z_stopRange){ // reversal rotation _referencePin = 1; _pwmPin.write(1.0f + request); } else{ // stop _referencePin = 0; _pwmPin.write(0.0); } }