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:
| DHT11 | DHT22 | |
|---|---|---|
| Rango de temperatura | 0 a 50 °C | −40 a 80 °C |
| Precisión de temperatura | ±2 °C | ±0,5 °C |
| Rango de humedad | 20 a 90 % | 0 a 100 % |
| Precisión de humedad | ±5 % | ±2 a 5 % |
| Lecturas por segundo | 1 cada segundo | 1 cada 2 segundos |
| Alimentación | 3,3 a 5 V | 3,3 a 5 V |
| Precio relativo | Más barato | Cerca del doble o más |

¿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.
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.

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.


