#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT22
#define LED_COOL 13 // Pin del LED para temperaturas por debajo de 22°C
#define LED_NORMAL 14 // Pin del LED para temperaturas entre 22°C y 30°C
#define LED_HOT 15 // Pin del LED para temperaturas por encima de 30°C
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
pinMode(LED_COOL, OUTPUT);
pinMode(LED_NORMAL, OUTPUT);
pinMode(LED_HOT, OUTPUT);
}
void loop() {
// Espera unos segundos entre mediciones.
delay(2000);
// Leer la humedad y temperatura
float h = dht.readHumidity();
float t = dht.readTemperature();
// Comprobar si la lectura falló y salir temprano (para intentar de nuevo).
if (isnan(h) || isnan(t)) {
Serial.println(F("¡Fallo al leer del sensor DHT!"));
return;
}
Serial.print(F("Humedad: "));
Serial.print(h);
Serial.print(F("% Temperatura: "));
Serial.print(t);
Serial.println(F("°C"));
// Enciende los LEDs según la temperatura
if (t < 22) {
digitalWrite(LED_COOL, HIGH);
digitalWrite(LED_NORMAL, LOW);
digitalWrite(LED_HOT, LOW);
} else if (t >= 22 && t <= 30) {
digitalWrite(LED_COOL, LOW);
digitalWrite(LED_NORMAL, HIGH);
digitalWrite(LED_HOT, LOW);
} else {
digitalWrite(LED_COOL, LOW);
digitalWrite(LED_NORMAL, LOW);
digitalWrite(LED_HOT, HIGH);
}
}