Added arduino libs
هذا الالتزام موجود في:
47
libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp
Normal file
47
libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp
Normal file
@@ -0,0 +1,47 @@
|
||||
#include "CytronMotorDriver.h"
|
||||
|
||||
CytronMD::CytronMD(MODE mode, uint8_t pin1, uint8_t pin2)
|
||||
{
|
||||
_mode = mode;
|
||||
_pin1 = pin1;
|
||||
_pin2 = pin2;
|
||||
|
||||
pinMode(_pin1, OUTPUT);
|
||||
pinMode(_pin2, OUTPUT);
|
||||
|
||||
digitalWrite(_pin1, LOW);
|
||||
digitalWrite(_pin2, LOW);
|
||||
}
|
||||
|
||||
void CytronMD::setSpeed(int16_t speed)
|
||||
{
|
||||
// Make sure the speed is within the limit.
|
||||
if (speed > 255) {
|
||||
speed = 255;
|
||||
} else if (speed < -255) {
|
||||
speed = -255;
|
||||
}
|
||||
|
||||
// Set the speed and direction.
|
||||
switch (_mode) {
|
||||
case PWM_DIR:
|
||||
if (speed >= 0) {
|
||||
analogWrite(_pin1, speed);
|
||||
digitalWrite(_pin2, LOW);
|
||||
} else {
|
||||
analogWrite(_pin1, -speed);
|
||||
digitalWrite(_pin2, HIGH);
|
||||
}
|
||||
break;
|
||||
|
||||
case PWM_PWM:
|
||||
if (speed >= 0) {
|
||||
analogWrite(_pin1, speed);
|
||||
analogWrite(_pin2, 0);
|
||||
} else {
|
||||
analogWrite(_pin1, 0);
|
||||
analogWrite(_pin2, -speed);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
المرجع في مشكلة جديدة
حظر مستخدم