// para el mando Bluetooth app RoboBoy
// bola basica
/*** Included libraries ***/
#include <BluetoothSerial.h>
#include <string.h>
/*** Global variables and function definition ***/
BluetoothSerial SerialBT;
uint8_t ENBdch = 33;
uint8_t in4 = 25;
uint8_t in3 = 26;
uint8_t in2 = 27;
uint8_t in1 = 14;
uint8_t ENAiz = 12;
char valorpot = 0;
int veloI = 60;
int veloD = 60;
/*** Setup ***/
void setup() {
Serial.begin(115200);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(ENAiz, OUTPUT);
pinMode(ENBdch, OUTPUT);
analogWrite(ENAiz, veloI);
analogWrite(ENBdch, veloD);
SerialBT.begin("ESP32test");
digitalWrite(in1, LOW);
digitalWrite(in3, LOW);
digitalWrite(in2, LOW);
digitalWrite(in4, LOW);
}
/*** Loop ***/
void loop() {
Serial.print(veloI);
Serial.print(" --- ");
Serial.println(veloD);
if (SerialBT.available()){
valorpot = SerialBT.read();
}
Serial.println(valorpot);
//delay (500);
analogWrite(ENAiz, veloI);
analogWrite(ENBdch, veloD);
switch (valorpot) {
case '1':
digitalWrite(in1, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in4, LOW);
break;
case '2':
veloD = veloD + 10;
if (veloD > 250) {veloD = 250;}
analogWrite(ENBdch, veloD);
delay (150);
// veloD = veloD - 10;
valorpot=0;
break;
case '3':
digitalWrite(in1, LOW);
digitalWrite(in3, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in4, HIGH);
break;
case '4':
veloI = veloI + 10;
if (veloI > 250) {veloI = 250;}
analogWrite(ENAiz, veloI);
delay (150);
valorpot=0;
// veloI = veloI - 10;
break;
case '5':
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
break;
case '6':
veloD = veloD - 5;
if (veloD < 60) {veloD = 60;}
analogWrite(ENBdch, veloD);
valorpot = 0;
break;
case '7':
veloI = 60;
veloD = 60;
analogWrite(ENAiz, veloI);
analogWrite(ENBdch, veloD);
break;
case '8':
veloI = veloI - 5;
if (veloI < 60) {veloI = 60;}
analogWrite(ENAiz, veloI);
valorpot=0;
break;
case '9':
veloD = veloD + 5;
if (veloD > 250) {veloD = 250;}
analogWrite(ENBdch, veloD);
valorpot = 0;
break;
case 'A':
veloI = veloI + 5;
if (veloI > 250) {veloI = 250;}
analogWrite(ENAiz, veloI);
valorpot = 0;
break;
}
}