#include <DHT.h>
// Definir el tipo de sensor DHT y el pin de datos
#define DHTPIN 17 // Pin digital conectado al pin DATA del DHT22
#define DHTTYPE DHT22 // Definir el tipo de sensor como DHT22
// Inicializar el sensor DHT
DHT dht(DHTPIN, DHTTYPE);
// Definir los pines de los LEDs
#define LED_VENTILADOR 19
#define LED_CALECTOR 18
void setup() {
// Inicializar comunicación serie para monitoreo
Serial.begin(9600);
// Inicializar el sensor DHT
dht.begin();
// Definir los pines de los LEDs como salidas
pinMode(LED_VENTILADOR, OUTPUT);
pinMode(LED_CALECTOR, OUTPUT);
// Apagar los LEDs inicialmente
digitalWrite(LED_VENTILADOR, LOW);
digitalWrite(LED_CALECTOR, LOW);
}
void loop() {
// Esperar unos segundos entre mediciones
delay(2000);
// Leer la temperatura (y la humedad si es necesario)
float temp = dht.readTemperature();
// Comprobar si la lectura es válida
if (isnan(temp)) {
Serial.println("Error al leer el sensor DHT");
return;
}
// Mostrar la temperatura en el monitor serie
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.println(" °C");
// Controlar los LEDs según la temperatura
if (temp > 30.0) {
// Encender el LED azul (ventilador) si la temperatura es mayor a 30°C
digitalWrite(LED_VENTILADOR, HIGH);
digitalWrite(LED_CALECTOR, LOW);
} else if (temp < 20.0) {
// Encender el LED rojo (calefactor) si la temperatura es menor a 20°C
digitalWrite(LED_CALECTOR, HIGH);
digitalWrite(LED_VENTILADOR, LOW);
} else {
// Apagar ambos LEDs si la temperatura está entre 20°C y 30°C
digitalWrite(LED_VENTILADOR, LOW);
digitalWrite(LED_CALECTOR, LOW);
}
}