Files
carro_esp32/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.cpp
2019-08-07 14:19:54 -05:00

97 lines
1.7 KiB
C++

# include "Arduino.h"
# include "OpenTB6612FNG.h"
OpenTB6612FNG::OpenTB6612FNG(int TP) {
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(STBY, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
ledcSetup(ledChannel, freq, resolution);
ledcSetup(ledChannel2, freq, resolution);
// attach the channel to the GPIO to be controlled
ledcAttachPin(PWMA, ledChannel);
ledcAttachPin(PWMB, ledChannel2);
}
void OpenTB6612FNG::MotorIz(int value) {
/* if (value >= 0) {
// si valor positivo vamos hacia adelante
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
} else {
// si valor negativo vamos hacia atras
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
value *= -1;
}
*/
// Setea Velocidad
ledcWrite(ledChannel, value);
}
void OpenTB6612FNG::MotorDe(int value) {
/* if (value >= 0) {
// si valor positivo vamos hacia adelante
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
} else {
// si valor negativo vamos hacia atras
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
value *= -1;
}
*/
// Setea Velocidad
ledcWrite(ledChannel2, value);
}
void OpenTB6612FNG::Motores(int left, int righ) {
MotorIz(left);
MotorDe(righ);
digitalWrite(STBY, LOW);
}
void OpenTB6612FNG::Forward()
{
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
}
void OpenTB6612FNG::Backward()
{
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
}
void OpenTB6612FNG::Stop()
{
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, LOW);
}