#include "DHTesp.h"
// Definir los pines y umbrales
#define DHTPIN 21
#define TEMP_LED_PIN 14
#define HUM_LED_PIN 15
#define BUTTON_TEMP_PIN 26
#define BUTTON_HUM_PIN 27
#define TEMP_THRESHOLD 45.0
#define HUM_THRESHOLD_LOW 25.0
#define HUM_THRESHOLD_HIGH 60.0
DHTesp dht;
void setup() {
pinMode(TEMP_LED_PIN, OUTPUT);
pinMode(HUM_LED_PIN, OUTPUT);
pinMode(BUTTON_TEMP_PIN, INPUT_PULLDOWN);
pinMode(BUTTON_HUM_PIN, INPUT_PULLDOWN);
Serial.begin(115200);
dht.setup(DHTPIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dht.getTempAndHumidity();
float temp = data.temperature;
float hum = data.humidity;
if (isnan(temp) || isnan(hum)) {
Serial.println("Error leyendo el sensor DHT22");
return;
}
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" °C, Humedad: ");
Serial.print(hum);
Serial.println(" %");
// Condiciones para los LEDs
if (temp > TEMP_THRESHOLD && digitalRead(BUTTON_TEMP_PIN) == HIGH) {
digitalWrite(TEMP_LED_PIN, HIGH); // Encender LED de temperatura
} else {
digitalWrite(TEMP_LED_PIN, LOW); // Apagar LED de temperatura
}
if ((hum < HUM_THRESHOLD_LOW || hum > HUM_THRESHOLD_HIGH) && digitalRead(BUTTON_HUM_PIN) == HIGH) {
digitalWrite(HUM_LED_PIN, HIGH); // Encender LED de humedad
} else {
digitalWrite(HUM_LED_PIN, LOW); // Apagar LED de humedad
}
delay(500); // Verificar cada segundo
}