#include "DHT.h" // Importamos la librería (Añadir "DHT sensor library" en Wokwi)
#define DHTPIN 4 // Pin de datos (GPIO 4) conectado al sensor
#define DHTTYPE DHT22 // Indicamos el modelo exacto de la familia DHT
// Creamos el "objeto" de nuestro sensor para poder usarlo
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Iniciamos la comunicación serial a 115200 baudios (estándar en ESP32, ajustar a 9600 si es Arduino UNO)
Serial.begin(115200);
Serial.println("Iniciando prueba del DHT22...");
// Despertamos/Inicializamos el sensor
dht.begin();
}
void loop() {
// El DHT22 es lento. Necesita al menos 2 segundos entre cada lectura
delay(2000);
// Usamos las funciones de la librería para leer los datos
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
float temperaturaF = dht.readTemperature(true);
// Validamos si la lectura falló (Excelente práctica de ingeniería)
if (isnan(humedad) || isnan(temperatura) || isnan(temperaturaF)) {
Serial.println("¡Error de lectura! Revisa tus cables.");
return; // Abortamos este ciclo y volvemos a empezar
}
// Imprimimos los resultados limpios en el monitor serie
Serial.print("Humedad: ");
Serial.print(humedad);
Serial.print("% | Temperatura: ");
Serial.print(temperatura);
Serial.print("°C | ");
Serial.print(temperaturaF);
Serial.println("°F");
}