From 8a8b43bc56f75016e3a59f4e2901da8ab7c56f7f Mon Sep 17 00:00:00 2001 From: mdchaparrror Date: Wed, 7 Aug 2019 14:19:54 -0500 Subject: [PATCH] hh --- .../src/OpenTB6612FNG/OpenTB6612FNG.cpp | 97 +++++++++++++++++++ .../src/OpenTB6612FNG/OpenTB6612FNG.h | 31 ++++++ .../src/OpenTB6612FNG/keyswords.txt | 7 ++ firmwareCarroEsp32/src/main.cpp | 5 +- 4 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.cpp create mode 100644 firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.h create mode 100644 firmwareCarroEsp32/src/OpenTB6612FNG/keyswords.txt diff --git a/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.cpp b/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.cpp new file mode 100644 index 0000000..6aa1a3e --- /dev/null +++ b/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.cpp @@ -0,0 +1,97 @@ + # 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); +} \ No newline at end of file diff --git a/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.h b/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.h new file mode 100644 index 0000000..4ed1d1d --- /dev/null +++ b/firmwareCarroEsp32/src/OpenTB6612FNG/OpenTB6612FNG.h @@ -0,0 +1,31 @@ +#ifndef OpenTB6612FNG_h +#define OpenTB6612FNG_h +#include +#define PWMA 36 +#define AIN1 39 +#define AIN2 34 +#define STBY 35 +#define BIN1 32 +#define BIN2 33 +#define PWMB 25 + +const int freq = 5000; +const int ledChannel = 0; +const int ledChannel2 = 1; +const int resolution = 8; + + +class OpenTB6612FNG{ + public: + OpenTB6612FNG(int TP); + + void MotorIz(int value); + void MotorDe(int value); + void Motores(int left, int righ); + void Forward(); + void Backward(); + void Stop(); + +}; + +# endif diff --git a/firmwareCarroEsp32/src/OpenTB6612FNG/keyswords.txt b/firmwareCarroEsp32/src/OpenTB6612FNG/keyswords.txt new file mode 100644 index 0000000..0b21b11 --- /dev/null +++ b/firmwareCarroEsp32/src/OpenTB6612FNG/keyswords.txt @@ -0,0 +1,7 @@ +OpenTB6612FNG KEYWORD1 + +MotorIz KEYWORD2 +MotorDe KEYWORD2 +Motores KEYWORD2 +Forward KEYWORD2 + diff --git a/firmwareCarroEsp32/src/main.cpp b/firmwareCarroEsp32/src/main.cpp index 6f91436..06a3d18 100644 --- a/firmwareCarroEsp32/src/main.cpp +++ b/firmwareCarroEsp32/src/main.cpp @@ -1,7 +1,9 @@ #include #include "BluetoothSerial.h" #include "carroEsp32.h" +#include "OpenTB6612FNG/OpenTB6612FNG.h" +OpenTB6612FNG misMotores(0); BluetoothSerial ESP_BT; //Object for Bluetooth @@ -13,7 +15,8 @@ void setup() { } void loop() { - + misMotores.Forward(); + misMotores.Motores(255,255); if (ESP_BT.available()) //Check if we receive anything from Bluetooth { //incoming = ESP_BT.read(); //Read what we recevive