Esta tienda usa medición anónima para entender cómo se navega su catálogo. GA4 y Clarity requieren tu permiso; Meta y TikTok solo se activan si aceptas publicidad.
Cargando contenido editorial
sensores-modulos
Sensor DHT22 con Arduino: humedad, temperatura y errores comunes
Cómo hacer que el DHT22 entregue lecturas confiables de temperatura y humedad, y qué significa cuando el monitor imprime «nan».
11 min de lectura
El monitor serie imprime nan, ceros o el mismo 0 % de humedad durante una hora… y el LED de encendido del módulo sigue encendido. Con el sensor DHT22 el hardware “parece vivo”, pero el bus de un hilo es quisquilloso: pull-up, tiempos, cable largo y librería equivocada convierten un invernadero casero en una fuente de números inventados. No es un fallo místico del silicio: casi siempre es un detalle de cableado o de intervalo de lectura.
Dónde instalar el DHT22: nunca al sol ni junto al vapor, sí a la sombra fresca
Esta guía cubre qué mide el DHT22 de verdad, diferencia con el DHT11, pinout, cableado a Arduino 5 V y notas para ESP32 a 3,3 V, librerías, errores comunes y un camino de depuración que cambia una variable por vez. Si más adelante quieres una estación con sensores I2C más modernos, mira AHT20 y BMP280. Para publicar datos por red, el marco de placas está en .
Compartir este artículo
Escrito por
Tecnoelite Colombia
Componentes electrónicos y semiconductores en Colombia
Componentes electrónicos, semiconductores, Arduino, medición, audio, herramientas y repuestos con envíos a todo Colombia.
Tres usos del DHT: invernadero, casa y rack de servidores, midiendo temperatura y humedad
El DHT22 (a menudo en módulo como AM2302) entrega dos magnitudes por un único pin de datos:
Temperatura (aprox. −40 a 80 °C según datasheet de la familia).
Humedad relativa (rango amplio, resolución y precisión mejores que el DHT11 de kit barato).
No es un patrón de laboratorio con certificado de calibración. Es un sensor útil para logger, invernadero, habitación, nevera de taller y aprendizaje. Espera tendencias coherentes (sube al regar, baja al ventilar), no 0,1 %RH de catálogo farmacéutico.
Idea clave: el DHT22 odia el rocío directo prolongado, los cables largos ruidosos y que lo lean más rápido de lo que el sensor permite (del orden de 2 segundos entre lecturas válidas).
2. DHT22 vs DHT11 (tabla para no comprar dos veces)
El DHT mide dos cosas a la vez: la temperatura y la humedad del aire
Aspecto
DHT11
DHT22 / AM2302
Precisión / resolución
Peor, pasos gruesos
Mejor para hobby y logger
Rango de humedad
Más limitado
Más amplio
Precio típico
Más bajo
Algo mayor
Interfaz
Single-wire digital
Igual en concepto
Tiempo entre lecturas
Lento
Lento (respeta ≥2 s)
Uso razonable
LED “hay humedad”, demo
Invernadero, habitación, curso serio
Si el proyecto es “mostrar algo en OLED y aprender el pin”, ambos enseñan. Si vas a registrar días de datos o controlar un humidificador, el DHT22 suele doler menos. Cuando el proyecto crece a estación con presión, el salto natural es I2C: AHT20 + BMP280 (o un BME280).
3. Pinout típico del módulo
Módulos de tres pines (los más comunes en kit):
Pin del módulo
A Arduino Uno/Nano 5 V
Notas
VCC
5 V (muchos módulos)
Algunos aceptan 3,3–6 V; lee la ficha de tu placa
DATA
D2 (ejemplo)
Un solo pin de datos
GND
GND
Masa común obligatoria
Módulos de cuatro pines (sensor desnudo tipo AM2302): VDD, DATA, NC, GND. El NC no se conecta. No copies el orden de un video sin mirar la serigrafía: hay clones con pines en otro sentido.
Pull-up en el bus
El bus necesita resistencia de pull-up entre DATA y VCC (4,7 kΩ a 10 kΩ típico). Muchos módulos ya traen SMD; no dupliques a ciegas, pero un 10 kΩ externo en cables cortos rara vez estorba. Sin pull-up estable, veras lecturas fallidas intermitentes que “a veces funcionan si tocas el cable”.
4. Cableado paso a paso (Arduino 5 V)
Protoboard limpia; coloca el DHT lejos de la regulación que calienta (LM2596, disipador del L298, MOSFET caliente).
VCC → 5 V, GND → GND del Arduino.
DATA → pin digital libre (ej. 2). Evita pines solo de entrada o conflictivos de tu shield.
Confirma pull-up (onboard o externo).
Cables cortos al inicio (<20–30 cm). Si necesitas largo, sube calidad de cable, evita bucles junto a motores y prueba otra vez.
ESP32 / 3,3 V
El DHT22 a menudo funciona alimentado a 3,3 V, pero:
Confirma el módulo (algunos asumen 5 V en el regulador o en el LED).
El nivel de DATA debe ser compatible con el GPIO a 3,3 V.
No asumas el mismo pin “D4” del NodeMCU 8266 en un DevKit ESP32: el serigrafía miente entre familias.
En el Library Manager de Arduino busca una librería DHT mantenida (la clásica de Adafruit u otras activas con README claro). Patrón mental del sketch:
#define DHTPIN 2 y tipo DHT22 (no DHT11).
dht.begin() en setup.
En loop, espera al menos 2 segundos entre lecturas.
Lee humedad y temperatura; si es NaN (isnan), imprime error y no uses el valor en un relé o en un promedio.
Opcional: desacople 100 nF cerca de VCC/GND del módulo si la USB es ruidosa.
No copies un ejemplo de DHT11 sin cambiar el tipo: la temporización interna del protocolo difiere y obtienes basura “creíble”.
Pseudoflujo de depuración en Serial:
text
Si humidity is nan → cableado / pull-up / pin / alimentación / tipo en códigoSi valores fijos absurdos → sensor mojado, saturado o dañadoSi salta entre extremos → ruido, cable largo, fuente floja, motor cercaSi cambia cada 100 ms en el sketch → lees demasiado rápido
6. Errores comunes (tabla de síntomas)
Síntoma
Causa probable
Qué probar primero
Siempre NaN
Pin mal, sin pull-up, tipo DHT mal
Cambia pin, pull-up 10k, tipo DHT22
0 % o 99 % pegado
Sensor saturado / condensación / avería
Seca, airea, reemplaza
Lecturas a veces bien
Cable largo, ruido, fuente floja
Acorta, desacople, otra USB
Funciona en Uno, falla en ESP
Nivel, pin, core
3,3 V, otro GPIO, delays
Cambia cada 100 ms
Intervalo demasiado corto
≥2 s entre lecturas
Temperatura 0 °C fija
Fallo de lectura mal interpretado
Chequea isnan antes de usar
Humedad “sigue” al disipador
Colocación física
Aleja de reguladores y motores
Regla de oro: cambia una cosa por vez. Si mueves pin, librería y cable en el mismo intento, no sabras qué curó el problema.
7. Colocación física en el proyecto
No lo pegues al regulador step-down ni al disipador del puente H: mediras el calor del módulo, no el ambiente.
Evita sol directo sobre el plástico del sensor y lluvia sobre el sensor abierto.
En invernadero, protégelo del riego por aspersión; la humedad de interés es del aire, no del charco en el PCB.
Deja que el aire circule; una caja sellada sin orificios miente (y condensa).
Si usas un módulo relé 5 V para humidificador o extractor, separa el cableado de potencia del hilo de datos del DHT.
8. Calibración honesta (sin cámara climática)
No tienes laboratorio metrológico: igual puedes ser serio.
Compara con un termohigrómetro de confianza en la misma mesa durante 30 minutos en reposo.
Anota offset promedio (ej. DHT +1,5 °C o −3 %RH).
Aplica corrección en software solo si el offset es estable día a día.
No “calibres” con el secador a 5 cm: no es el uso real y saturas el sensor.
Para humedad, dos sensores distintos raramente coinciden al 0,5 %: busca coherencia de tendencia.
Si el offset cambia cada hora, no es calibración: es cable, alimentación o sensor herido.
Logger opcional a tarjeta SD o envío por ESP32 si ya cruzaste a IoT.
Alimentación estable; si hay relé de carga, aísla ruido y picos de corriente.
Documenta pin, intervalo y offset en un comentario del sketch o en una libreta.
Lista mental de lo que hace falta: sensor, placa, cables, resistencia de pull-up, pantalla y fuente. Sin eso, el “proyecto de humedad” es solo un Serial abierto en el portátil.
Pasa a AHT20, SHT3x, BME280/BMP280 + humedad dedicada cuando:
Necesitas bus I2C estable y mejor comportamiento a largo plazo.
El cable debe ser más largo (con buen diseño de bus o topología adecuada).
Quieres presión atmosférica en la misma estación.
Varios sensores en el mismo bus sin un pin DATA por cada uno.
El DHT22 no es basura: es el primer peldaño didáctico. Saber sus límites es parte del oficio, igual que saber cuándo un MOSFET del anuncio no es de nivel lógico.
11. Del Serial al control (sin mentirte)
Cuando las lecturas ya son coherentes, el siguiente error es actuar sobre un solo valor crudo:
Lee 3–5 muestras válidas (no NaN) y promedia, o usa un filtro simple.
Define histéresis: no enciendas el humidificador a 55 % y lo apagues a 54 % en bucle.
Separa el cable del relé del hilo DATA del DHT.
Loguea timestamp + T + HR aunque sea a SD o a un CSV por Serial: depurar “ayer a las 3 pm” sin datos es adivinar.
Si publicas por WiFi, valida el sensor offline primero; la red no arregla un pull-up flojo.
Ese orden convierte el DHT22 de demo de Serial en un bloque reutilizable de un invernadero casero.
12. Checklist de cierre de montaje
Part number / módulo identificado (DHT22 en código, no DHT11).
Pull-up presente (onboard o 4,7–10 kΩ).
Intervalo ≥2 s entre lecturas.
isnan manejado; no actuamos sobre basura.
Cables cortos en la primera prueba.
Sensor lejos de fuentes de calor propias del circuito.
Comparación gruesa con otro medidor o con sentido común (baño caliente sube HR).
Anotado el pin y la placa (Uno vs ESP32).
Preguntas frecuentes
¿El DHT22 funciona a 3,3 V con ESP32?
A menudo sí, especialmente módulos pensados para ese rango. Verifica la ficha de tu módulo y el nivel del pin DATA. Si alimentas a 5 V y lees con ESP32, asegúrate de que el nivel sea seguro para el GPIO (el ESP32 no es “5 V tolerant” en la mayoría de pines).
¿Puedo usar un solo pin de datos para dos DHT22?
No de forma trivial en el mismo instante: cada sensor usa el protocolo en su pin (o un esquema más complejo). Lo habitual es un pin por sensor o pasar a sensores I2C multipunto.
¿Por qué el ejemplo de Internet usa pin 2 y el mío no funciona?
El número de pin es un ejemplo. Adáptalo a tu placa y a los pines que no estén ocupados por shield, SPI de la SD o strapping del ESP32.
¿DHT22 o AHT20 para un producto nuevo?
Para producto o estación seria, AHT20 (u otro I2C moderno) suele ser mejor camino. Para curso y kit clásico, el DHT22 sigue siendo didáctico y barato de reemplazar.
¿Necesito capacitor en el sensor?
Un desacople de 100 nF cerca de VCC/GND del módulo ayuda en alimentaciones ruidosas. No sustituye una fuente decente ni un cable corto.
¿Qué librería debo instalar?
Una librería DHT activamente mantenida y compatible con tu core (AVR, ESP). Evita ZIPs abandonados de 2014 sin documentación. Lee el README del tipo de sensor (DHT22 vs 11) antes de copiar el primer ejemplo.
Con el DHT22 bien cableado, leído con paciencia y colocado lejos del calor propio del circuito, dejas de pelear con nan y empiezas a ver el clima del proyecto. Cuando el single-wire se quede corto, el siguiente paso natural es la estación I2C con AHT20 y BMP280.