#include <BluetoothSerial.h>
#include <DHT.h>

//DHT
#define DHTPIN 5      // Pin donde está conectado el sensor DHT22
#define DHTTYPE DHT22 // Tipo de sensor DHT (DHT22 o DHT11)

DHT dht(DHTPIN, DHTTYPE);
BluetoothSerial SerialBT;
//SALA  1
int ledPin1 = 2;    
int buttonPin1 = 12;  
//SALA 2
int ledPin2 = 13;    
 
//HABITACION
int ledPin3 = 15;   
int buttonPin3 = 19;  
//BAÑO
int ledPin4 = 23;    
int buttonPin4 = 33;  
//COCINA
int ledPin5 = 32;    
int buttonPin5 = 22;  
//GARAJE
int ledPin6 = 25;    
int buttonPin6 = 4;  
//MAQUINAS
int ledPin7 = 26;    
int buttonPin7 = 18; 
//FAROLA
int ledPin8 = 34;    //no va en este esp32, falla el pin pero la programacion está bien (leer monitor serie)


void setup() {
    Serial.begin(115200);
    SerialBT.begin("ESP32_LED_Control");
    dht.begin();
   

    pinMode(ledPin1, OUTPUT);
    pinMode(buttonPin1, INPUT_PULLUP);

    pinMode(ledPin2, OUTPUT);
  

    pinMode(ledPin3, OUTPUT);
    pinMode(buttonPin3, INPUT_PULLUP);

    pinMode(ledPin4, OUTPUT);
    pinMode(buttonPin4, INPUT_PULLUP);

    pinMode(ledPin5, OUTPUT);
    pinMode(buttonPin5, INPUT_PULLUP);

    pinMode(ledPin6, OUTPUT);
    pinMode(buttonPin6, INPUT_PULLUP);

    pinMode(ledPin7, OUTPUT);
    pinMode(buttonPin7, INPUT_PULLUP);


}

void loop() {

//DHT
    float t = dht.readTemperature(); // Leer temperatura en grados Celsius
    float h = dht.readHumidity();    // Leer humedad relativa
      if (isnan(h) || isnan(t)) {
    Serial.println("Error al leer el sensor DHT22");
    return; }
     Serial.print("Humedad: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperatura: ");
    Serial.print(t);
    Serial.println(" °C");

    // Enviar datos a la aplicación a través de Bluetooth
    SerialBT.print(t);
    SerialBT.println(";");
    SerialBT.print(h);
    SerialBT.print(";");


    //Leer pulsador 1
    if (digitalRead(buttonPin1) == LOW) {
        digitalWrite(ledPin1, !digitalRead(ledPin1));
       digitalWrite(ledPin2, !digitalRead(ledPin2));
        delay(200);  
    }


    //Leer pulsador 3
    if (digitalRead(buttonPin3) == LOW) {
        digitalWrite(ledPin3, !digitalRead(ledPin3));
        delay(200);  
    }

    //Leer pulsador 4
    if (digitalRead(buttonPin4) == LOW) {
        digitalWrite(ledPin4, !digitalRead(ledPin4));
        delay(200);  
    }

   //Leer pulsador 5
    if (digitalRead(buttonPin5) == LOW) {
        digitalWrite(ledPin5, !digitalRead(ledPin5));
        delay(200);  
    }
    //Leer pulsador 6
    if (digitalRead(buttonPin6) == LOW) {
        digitalWrite(ledPin6, !digitalRead(ledPin6));
        delay(200);  
    }

   //Leer pulsador 7
    if (digitalRead(buttonPin7) == LOW) {
        digitalWrite(ledPin7, !digitalRead(ledPin7));
        delay(200);  
    }

    //Comandos Bluetooth
    while (SerialBT.available()) {
        char command = SerialBT.read();
        if (command == 'conectado') {
            SerialBT.println("Conexión establecida");
        } else if (command == '1') {
            digitalWrite(ledPin1, !digitalRead(ledPin1));
            SerialBT.println("Primer LED cambiado");
        } else if (command == '2') {
            digitalWrite(ledPin2, !digitalRead(ledPin2));
            SerialBT.println("Segundo LED cambiado");
        } else if (command == '3') {
            digitalWrite(ledPin3, !digitalRead(ledPin3));
            SerialBT.println("Tercer LED cambiado");
        } else if (command == '4') {
            digitalWrite(ledPin4, !digitalRead(ledPin4));
            SerialBT.println("crto LED cambiado");
        } else if (command == '5') {
            digitalWrite(ledPin5, !digitalRead(ledPin5));
            SerialBT.println("qnto LED cambiado");
        } else if (command == '6') {
            digitalWrite(ledPin6, !digitalRead(ledPin6));
            SerialBT.println("sxto LED cambiado");
        } else if (command == '7') {
            digitalWrite(ledPin7, !digitalRead(ledPin7));
            SerialBT.println("sptmo LED cambiado");


        } else if (command == 'E') { //Encender todo por comando de voz
            digitalWrite(ledPin1, HIGH);
            digitalWrite(ledPin2, HIGH);
            digitalWrite(ledPin3, HIGH);
            digitalWrite(ledPin4, HIGH);
            digitalWrite(ledPin5, HIGH);
            digitalWrite(ledPin6, HIGH);
            digitalWrite(ledPin7, HIGH);
            digitalWrite(ledPin8, HIGH);
        } else if (command == 'A') {  //Apagar todo con comando de voz
            digitalWrite(ledPin1, LOW);
            digitalWrite(ledPin2, LOW);
            digitalWrite(ledPin3, LOW);
            digitalWrite(ledPin4, LOW);
            digitalWrite(ledPin5, LOW);
            digitalWrite(ledPin6, LOW);
            digitalWrite(ledPin7, LOW);
            digitalWrite(ledPin8, LOW);


        } else if (command == 'C') {  //Encender luz cocina voz
            digitalWrite(ledPin5, HIGH);
        } else if (command == 'CA') {  //Apagar luz cocina voz
            digitalWrite(ledPin5, LOW);
        } else if (command == 'H') {  //Encender luz habitacion voz
            digitalWrite(ledPin3, HIGH);
        } else if (command == 'HA') {  //Apagar luz habitacion voz
            digitalWrite(ledPin3, LOW);
        } else if (command == 'B') {  //Encender luz baño voz
            digitalWrite(ledPin4, HIGH);
        } else if (command == 'BA') {  //Apagar luz baño voz
            digitalWrite(ledPin4, LOW);
        } else if (command == 'S2') {  //Encender luz sala2 voz
            digitalWrite(ledPin2, HIGH);
        } else if (command == 'S2A') {  //Apagar luz sala2 voz
            digitalWrite(ledPin2, LOW);
        } else if (command == 'S1') {  //Encender luz sala1 voz
            digitalWrite(ledPin1, HIGH);
        } else if (command == 'S1A') {  //Apagar luz sala1 voz
            digitalWrite(ledPin1, LOW);
        } else if (command == 'G') {  //Encender luz garaje voz
            digitalWrite(ledPin6, HIGH);
        } else if (command == 'SM') {  //Encender luz maquinas voz
            digitalWrite(ledPin7, HIGH);
        }
    }
}


        
$abcdeabcde151015202530354045505560fghijfghij
$abcdeabcde151015202530354045505560fghijfghij