Saltar al contenido

DHT11 y DHT22 con ESPHome: cableado y configuración

12/10/2022
Sensores DHT11 y DHT22 con ESPHome

Actualizado el 26 de agosto de 2026 · Comparativa, resistencia pull-up, GPIO seguros y configuración ESPHome revisados.

Los DHT11 y DHT22 son sensores digitales económicos de temperatura y humedad. Resultan útiles para aprender ESPHome o realizar una medición ambiental sencilla, pero sus prestaciones son diferentes y ambos necesitan un cableado correcto. En esta guía utilizaremos un GPIO que no intervenga en el arranque y una resistencia pull-up externa cuando el módulo no la incluya.

DHT11 o DHT22: diferencias importantes

CaracterísticaDHT11DHT22 / AM2302
Temperatura habitual0 a 50 °C-40 a 80 °C
Precisión típica de temperatura±2 °C±0,5 °C
Humedad habitual20 a 80 % HR0 a 100 % HR
Precisión típica de humedad±5 % HR±2 a 5 % HR según rango y versión
Velocidad máxima de lecturaAproximadamente 1 lectura/sAproximadamente 1 lectura cada 2 s
ElecciónPruebas básicas y bajo costeMayor rango y mejor precisión

Las cifras pueden variar entre fabricantes y clones. Para climatización doméstica, un DHT22 suele ser preferible; para medidas más estables y proyectos nuevos, sensores I²C como SHT3x o BME280 normalmente ofrecen mejor repetibilidad. El HTU21D con ESPHome es otra alternativa digital.

Sensor suelto o módulo

El sensor de cuatro pines suele necesitar una resistencia pull-up entre DATA y 3,3 V. ESPHome recomienda aproximadamente 4,7 kΩ, y normalmente funciona dentro de un rango de 1 a 10 kΩ. Muchos módulos de tres pines ya incorporan esa resistencia en la placa; compruébalo antes de añadir otra.

  • VCC: 3,3 V en este montaje.
  • DATA: GPIO4.
  • NC: sin conexión en el encapsulado de cuatro pines.
  • GND: masa común.
  • Pull-up: 4,7 kΩ entre DATA y 3,3 V si no está incluida.

Mira siempre el sensor de frente y consulta el pinout de tu unidad. Algunos módulos reorganizan el conector. Invertir VCC y GND puede destruirlo.

Por qué sustituimos GPIO0

GPIO0 es un pin de arranque del ESP8266. Si un sensor, una resistencia o un fallo de cableado lo mantiene bajo al encender, el microcontrolador entra en modo de programación en lugar de iniciar ESPHome. GPIO2 y GPIO15 también participan en el arranque.

Para una Wemos D1 mini o NodeMCU utilizaremos GPIO4, etiquetado D2. GPIO5 (D1) también suele ser una buena opción. En ESP32 puedes utilizar GPIO27 u otro pin libre adecuado para tu modelo. No confundas “D2” con GPIO2: en una Wemos D1 mini, D2 corresponde a GPIO4.

Configuración ESPHome para DHT22

sensor:
  - platform: dht
    pin: GPIO4
    model: DHT22
    temperature:
      name: "Temperatura habitación"
      accuracy_decimals: 1
    humidity:
      name: "Humedad habitación"
      accuracy_decimals: 1
    update_interval: 30s

Indicar model: DHT22 evita depender de la detección automática. Un intervalo de 30 o 60 segundos es suficiente para una habitación y reduce lecturas fallidas. El sensor no responde mejor por consultarlo continuamente.

Configuración ESPHome para DHT11

sensor:
  - platform: dht
    pin: GPIO4
    model: DHT11
    temperature:
      name: "Temperatura DHT11"
    humidity:
      name: "Humedad DHT11"
    update_interval: 30s

Si el encapsulado lleva AM2302, normalmente corresponde a la familia DHT22. ESPHome también incluye modelos específicos para variantes que no cumplen exactamente el protocolo esperado. Revisa los registros antes de cambiar opciones al azar.

Montaje y ubicación

  • Colócalo donde circule el aire, sin pegarlo al regulador de la placa.
  • Evita sol directo, radiadores, corrientes de una ventana y condensación.
  • No lo encierres en una caja sin ventilación.
  • Usa cable corto durante la puesta en marcha.
  • Para varios metros, mejora cableado y desacoplo o utiliza un sensor/bus más apropiado.

El calor generado por un ESP8266 o por una fuente dentro de la misma caja puede elevar la lectura. Separa físicamente el DHT y deja ranuras inferiores y superiores para que el aire circule.

Lecturas erráticas o valores NaN

ProblemaRevisión recomendada
No aparece ninguna lecturaPinout, masa común, modelo y GPIO real
Errores de checksumPull-up de 4,7 kΩ, cable más corto y alimentación estable
ESP8266 no arrancaDejar GPIO0/GPIO2/GPIO15 y utilizar GPIO4 o GPIO5
Temperatura demasiado altaAlejar el sensor de la placa y ventilar la caja
Humedad fija o poco creíbleComparar con otro instrumento y sustituir el sensor si está contaminado

Calibración en ESPHome

No corrijas una lectura basándote en una sola comparación. Coloca ambos instrumentos juntos, espera a que se estabilicen y compara varios puntos. Si el error es aproximadamente constante, puedes aplicar offset:

temperature:
  name: "Temperatura habitación"
  filters:
    - offset: -0.6

Un ajuste no arregla histéresis, condensación ni un sensor defectuoso. Para decisiones importantes usa un instrumento calibrado y documenta la corrección aplicada.

Fuentes comprobadas

Continúa leyendo

Siguiente guía relacionada · 9 min de lectura

BME280: guía completa con Arduino, ESPHome y Home Assistant

Actualizado el 01 de agosto de 2026 El BME280 es un sensor ambiental compacto de Bosch que mide temperatura, humedad relativa y presión atmosférica.…

Continuar con este artículo