Sensores

DHT11 o DHT22: cuál sensor de temperatura elegir para tu ESP32

Son los dos sensores de temperatura y humedad más usados en proyectos escolares. Se conectan igual, pero no miden igual. Comparamos rango, precisión y usos.

Equipo Alltime IoT6 min de lectura
Sensor DHT11 azul y DHT22 blanco con íconos de temperatura y humedad

El DHT11 (azul) y el DHT22 (blanco, también vendido como AM2302) miden temperatura y humedad, usan un solo cable de datos y se programan con la misma librería. Por eso es fácil pensar que son intercambiables. No lo son.

Las diferencias en una tabla

Estos son los valores de las hojas de datos de cada fabricante:

DHT11DHT22
Rango de temperatura0 a 50 °C−40 a 80 °C
Precisión de temperatura±2 °C±0,5 °C
Rango de humedad20 a 90 %0 a 100 %
Precisión de humedad±5 %±2 a 5 %
Lecturas por segundo1 cada segundo1 cada 2 segundos
Alimentación3,3 a 5 V3,3 a 5 V
Precio relativoMás baratoCerca del doble o más
DHT11 azul y DHT22 blanco lado a lado en una protoboard junto a un ESP32
El DHT11 (azul) y el DHT22 (blanco) usan los mismos tres pines: VCC, DATA y GND.

¿Cuál elegir?

Elige el DHT11 si…

  • Es la primera vez que tus estudiantes trabajan con sensores.
  • El proyecto mide dentro de un salón, una casa o un invernadero pequeño.
  • Importa más ver la tendencia (sube, baja, se estabiliza) que el decimal exacto.
  • Necesitas comprar muchos para un curso completo.

Elige el DHT22 si…

  • El sensor va a estar a la intemperie o en un lugar frío.
  • El proyecto compara datos con una estación meteorológica oficial.
  • Es un proyecto de grado o una feria donde la precisión se va a evaluar.
ActividadPon un DHT11 y un DHT22 uno al lado del otro durante una clase y grafica ambas lecturas en el mismo dashboard. La diferencia entre los dos es una lección de precisión y error de medición mejor que cualquier explicación.

Cómo conectarlo

Los dos se conectan igual. Si usas el módulo (el sensor soldado a una plaquita con tres pines), ya trae la resistencia necesaria:

  • VCC (o +) → 3V3 del ESP32
  • GND (o −) → GND
  • DATA (o S / OUT) → un pin digital, por ejemplo GPIO 4

Si usas el sensor suelto, de cuatro patas, agrega una resistencia de 10 kΩ entre DATA y VCC. Sin ella las lecturas fallan de forma intermitente.

ESP32 con sensor DHT11 en protoboard
Un DHT11 en módulo: tres cables y listo.

El código

Con la librería DHT sensor library de Adafruit, cambiar de un sensor a otro es cambiar una palabra:

#include <DHT.h>

#define PIN_DHT  4
#define TIPO     DHT11   // cambia a DHT22 si usas el blanco

DHT dht(PIN_DHT, TIPO);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (isnan(t) || isnan(h)) {
    Serial.println("Error leyendo el sensor");
  } else {
    Serial.printf("%.1f °C  ·  %.0f %%\n", t, h);
  }
  delay(2000);
}

Errores comunes

  • Leer demasiado rápido. Si pides datos más seguido de lo que el sensor permite, devuelve nan. Espera al menos 1 segundo con el DHT11 y 2 con el DHT22.
  • Tipo equivocado en el código. Un DHT22 configurado como DHT11 da números absurdos, no un error. Revisa el color.
  • El sensor pegado al ESP32. La placa se calienta al usar WiFi y sube la lectura uno o dos grados. Sepáralos unos centímetros con cables.
  • Al sol directo. Mide la temperatura del plástico, no la del aire. Para exteriores, ponlo a la sombra y con ventilación.
  • Pines intercambiados. El orden de VCC, DATA y GND cambia según el fabricante del módulo. Lee la serigrafía antes de conectar.

Si necesitas más precisión

Cuando el DHT22 se queda corto, el siguiente paso son sensores que se comunican por I²C, como el BME280 (que además mide presión atmosférica) o el SHT31. Son más precisos y responden más rápido, a cambio de un precio mayor y un cableado de cuatro hilos.

Para la mayoría de clases, el DHT11 es el punto de partida correcto: es barato, perdona errores y enseña lo esencial. En Alltime IoT es el sensor de la misión Morse 01, Estación de clima, donde sus lecturas viajan por MQTT a un dashboard con histórico.