#include "DHT.h" // Incluimos la librería para trabajar con el sensor DHT22
#define DHTPIN 15 // Pin donde está conectado el sensor DHT22
#define DHTTYPE DHT22 // Definimos el tipo de sensor DHT
#define LED_PIN 13 // Pin donde está conectado el LED
// Declaramos el objeto 'dht' que se asociará al pin y tipo de sensor
//especificado para acceder a los datos de temperatura.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Iniciamos la comunicación serial para ver los resultados en el monitor serial
Serial.begin(115200);
// Inicializamos el sensor DHT22 para empezar a leer la temperatura
dht.begin();
// Configuramos el pin donde está el LED como salida
pinMode(LED_PIN, OUTPUT);
// Inicialmente apagamos el LED
digitalWrite(LED_PIN, LOW);
}
void loop() {
// Leemos la temperatura desde el sensor DHT22
float temperature = dht.readTemperature();
// Verificamos si la lectura es válida (si no es NaN o "Not a Number")
if (isnan(temperature)) {
// Si hay un error en la lectura, mostramos un mensaje en el monitor serial
Serial.println("Error al leer del sensor DHT22");
return; // Salimos de la función y esperamos al siguiente ciclo
}
// Mostramos la temperatura en el monitor serial
Serial.print("Temperatura: ");
Serial.print(temperature);
Serial.println("°C");
// Si la temperatura es mayor a 25°C, encendemos el LED
if (temperature > 25.0) {
digitalWrite(LED_PIN, HIGH); // Encendemos el LED
Serial.println("LED ENCENDIDO"); // Mostramos en el monitor que el LED está encendido
} else {
// Si la temperatura es menor o igual a 25°C, apagamos el LED
digitalWrite(LED_PIN, LOW); // Apagamos el LED
Serial.println("LED APAGADO"); // Mostramos en el monitor que el LED está apagado
}
// Esperamos 2 segundos antes de la siguiente lectura
delay(2000);
//significa que, después de cada lectura de temperatura y después de mostrar el estado
//del LED en el monitor serial, el programa espera 2 segundos antes de realizar otra
//lectura y repetir el ciclo.
}