#include <BluetoothSerial.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
BluetoothSerial SerialBT; // Instancia um objeto BluetoothSerial
int led1 = 16;
int led2 = 4;
int botao1 = 18;
int botao2 = 5;
int botao3 = 17;
int cont = 0;
int estado_botao1 = 0;
int estado_botao2 = 0;
int estado_botao3 = 0;
int trava1 = 0;
int trava2 = 0;
int trava3 = 0;
void setup() {
Serial.begin(115200);
SerialBT.begin("Mantovas");
lcd.init();
lcd.backlight();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(botao1, INPUT);
pinMode(botao2, INPUT);
pinMode(botao3, INPUT);
Serial.println("O ESP32 está pronto para receber comandos via Bluetooth.");
}
void loop() {
estado_botao1 = digitalRead(botao1);
estado_botao2 = digitalRead(botao2);
estado_botao3 = digitalRead(botao3);
if ((estado_botao1 == 1) && (trava1 == 0))
{
digitalWrite(led1, HIGH);
trava1 = 1;
delay(100);
}
if ((estado_botao1 == 1) && (trava1 == 1))
{
trava1 = 0;
delay(100);
}
if ((estado_botao2 == 1) && (trava2 == 0))
{
digitalWrite(led2, HIGH);
trava2 = 1;
delay(100);
}
if ((estado_botao2 == 1) && (trava2 == 1))
{
trava2 = 0;
delay(100);
}
if ((estado_botao3== 1) && (trava3 == 0))
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
trava3 = 1;
delay(100);
}
if ((estado_botao3 == 1) && (trava3 == 1))
{
trava3 = 0;
delay(100);
}
if (SerialBT.available()) {
char receivedChar = SerialBT.read(); // Lê o caractere recebido via Bluetooth
Serial.print("Recebido: ");
Serial.println(receivedChar);
switch (receivedChar) {
case '1':
digitalWrite(led1, HIGH); // Acende o primeiro LED
Serial.println("LED On");
break;
case '0':
digitalWrite(led1, LOW); // Apaga o primeiro LED
Serial.println("LED1 OFF");
break;
case '3':
digitalWrite(led2, HIGH); // Acende o segundo LED
Serial.println("LED2 ON");
break;
case '4':
digitalWrite(led2, LOW); // Apaga o segundo LED
Serial.println("LED OFF");
break;
default:
Serial.println("Comando desconhecido");
break;
}
}
Serial.println("estado_botao1");
delay(20); // Pequeno atraso para evitar sobrecarga do processador
}