Qué sensor de temperatura humedad Arduino elegir
Elige un sensor de temperatura humedad Arduino según precisión, rango, cableado y uso real. Compara DHT11, DHT22, SHT31 y BME280 sin humo en montajes reales.
Un proyecto de riego, una estación meteorológica o un registrador para un invernadero puede fallar por un detalle básico: elegir un sensor de temperatura humedad Arduino solo porque es barato o porque aparece primero en un tutorial. La diferencia entre un DHT11 y un SHT31 no es de marketing. Afecta a la precisión, al tiempo entre lecturas, a la estabilidad y a cuánto tendrás que corregir después en el código.
La elección correcta depende del entorno, de la precisión que realmente necesitas y del microcontrolador que vas a usar. Para una práctica escolar puede bastar un sensor sencillo. Para controlar ventilación, conservar filamento o registrar condiciones durante semanas, conviene montar algo mejor desde el principio.
Qué mide realmente un sensor de temperatura y humedad
Estos sensores suelen entregar temperatura ambiente y humedad relativa. La humedad relativa no es la cantidad absoluta de agua en el aire: expresa el porcentaje de vapor presente respecto al máximo que el aire puede contener a esa temperatura. Por eso una lectura de 60 % HR cambia de significado si el ambiente está a 10 °C o a 30 °C.
También hay que separar la medición del sensor de la ubicación de montaje. Un componente muy preciso, instalado junto a un regulador caliente, una pantalla o dentro de una caja sin ventilación, dará una lectura mala. No es un problema de Arduino ni de la librería. Es calor propio y falta de circulación de aire.
En interiores, una desviación de 1 o 2 °C puede ser aceptable para monitorización doméstica. En humedad, un error de ±5 % puede servir para una alerta general, pero es poco fino si quieres controlar una incubadora, una vitrina de impresión 3D o un proceso de secado. Lee siempre la tolerancia indicada para temperatura y humedad por separado.
DHT11, DHT22, SHT31 y BME280: diferencias prácticas
DHT11: para aprender, no para afinar
El DHT11 es habitual en kits de iniciación porque es económico y fácil de encontrar. Mide aproximadamente entre 0 y 50 °C, con una precisión de temperatura modesta, y entre 20 % y 80 % de humedad relativa. Además, solo permite una lectura cada uno o dos segundos, según el módulo y la librería.
Sirve para entender cómo leer un sensor digital, mostrar datos en una pantalla LCD o activar un LED cuando sube la humedad. No es la mejor opción para exteriores, invernaderos ni registros comparables en el tiempo. Si dos DHT11 dan valores distintos, no es raro. Es parte de sus límites.
DHT22 o AM2302: el salto económico razonable
El DHT22, también vendido como AM2302 en algunos formatos, ofrece un rango mayor y mejor precisión que el DHT11. Puede medir temperaturas bajo cero y humedades de 0 % a 100 % HR. Sigue usando una comunicación digital de un solo hilo de datos, distinta de I2C y de OneWire.
Para muchos proyectos maker es el equilibrio más simple entre coste y resultado. Funciona bien para estaciones ambientales básicas, control de extractores o avisos de humedad en una habitación. Su principal pega es que no es rápido y que la calidad puede variar entre fabricantes. No esperes una lectura nueva fiable cada pocas decenas de milisegundos.
Si compras el sensor suelto de cuatro patillas, necesita una resistencia pull-up entre VCC y DATA, normalmente de 4,7 kΩ a 10 kΩ. Los módulos de tres pines suelen incluirla ya montada. Confundir ambos formatos es un error frecuente.
SHT31: cuando importa la calidad de la medición
El SHT31 es una opción claramente superior para temperatura y humedad. Normalmente se comunica por I2C, ofrece lecturas más estables, responde más rápido y suele tener mejores tolerancias, especialmente en humedad. Para dataloggers, automatización doméstica seria, cajas de cultivo o proyectos que deben repetirse en un aula, compensa.
I2C también simplifica el cableado: alimentación, GND, SDA y SCL. En un Arduino Uno o Nano clásico, SDA corresponde a A4 y SCL a A5. En un ESP32 esos pines se pueden definir por software, aunque los valores habituales dependen de la placa concreta. No copies un esquema de Arduino a ESP32 sin revisar el pinout.
El precio es mayor que el de un DHT, pero el coste de perseguir lecturas erráticas también existe. Si el proyecto tiene una pantalla, una carcasa, una fuente y varias horas de montaje, ahorrar unos euros en el sensor no siempre tiene sentido.
BME280: añade presión, pero no sustituye todo
El BME280 mide temperatura, humedad y presión atmosférica mediante I2C o SPI. Es una buena elección para una estación meteorológica compacta o para estimar tendencias de presión. Sin embargo, no hay que confundirlo con el BMP280: el BMP280 mide temperatura y presión, pero no mide humedad.
El BME280 es útil si la presión aporta valor al proyecto. Para medir exclusivamente temperatura y humedad, un SHT31 puede ser una alternativa más directa. También conviene verificar el módulo antes de comprar: algunos llevan regulador y adaptación de nivel para 3,3 V y 5 V; otros exponen el chip para 3,3 V únicamente.
Cómo conectar el sensor sin crear un problema de voltaje
Antes de cargar código, revisa tres datos: tensión de alimentación, tensión lógica de las señales y protocolo de comunicación. Arduino Uno y Nano trabajan normalmente a 5 V. Muchas placas ESP32 trabajan a 3,3 V y sus GPIO no toleran 5 V. Alimentar un módulo a 5 V no significa automáticamente que puedas conectar su salida de datos a un ESP32.
Con un DHT22 en módulo, la conexión típica es VCC a 5 V o 3,3 V según el módulo, GND a GND y DATA a un pin digital, por ejemplo D2. En un Arduino Uno, evita usar D0 y D1 si vas a cargar programas o usar el monitor serie, porque son los pines asociados a la comunicación USB serie.
Con SHT31 o BME280 por I2C, conecta VCC, GND, SDA y SCL. Varios dispositivos pueden compartir SDA y SCL si sus direcciones I2C no entran en conflicto. Algunos módulos permiten cambiar la dirección mediante un pin ADDR o un puente de soldadura. Si el escáner I2C no detecta nada, revisa primero alimentación, masa común y pines. Cambiar de librería no arregla un cable conectado al revés.
Código y librerías: usa la que corresponde al chip
El nombre comercial no basta para elegir librería. Hay muchas librerías con nombres parecidos, ejemplos antiguos y dependencias distintas. Instala una librería conocida para el chip exacto y compila primero un ejemplo mínimo antes de añadir pantalla, Wi-Fi, relés o MQTT.
Para un DHT22, el código debe respetar el intervalo entre mediciones. Leer demasiado rápido suele devolver valores nulos o repetidos. Una estructura mínima es esta:
```cpp #include
#define PIN_DHT 2 #define TIPO_DHT DHT22
DHT dht(PIN_DHT, TIPO_DHT);
void setup() { Serial.begin(9600); dht.begin(); }
void loop() { float humedad = dht.readHumidity(); float temperatura = dht.readTemperature();
if (isnan(humedad) || isnan(temperatura)) { Serial.println("Error de lectura del DHT22"); } else { Serial.print("Temperatura: "); Serial.print(temperatura); Serial.print(" C | Humedad: "); Serial.print(humedad); Serial.println(" %"); }
delay(2000); } ```
Este ejemplo no convierte el DHT22 en un instrumento calibrado, pero permite comprobar cableado, alimentación y comunicación. Si muestra error, no asumas que el sensor está roto: confirma el tipo declarado en el código, el número de pin y la presencia de la resistencia pull-up cuando corresponda.
Errores que alteran las lecturas aunque el código compile
El sensor no debe tocar una fuente de calor ni quedar encerrado junto a la placa. Un Arduino alimentado por USB, un regulador lineal o una pantalla OLED pueden elevar la temperatura local varios grados. Usa cables algo más largos y coloca el sensor donde esté el aire que quieres medir.
La condensación también importa. Ningún sensor de humedad común agradece recibir gotas de agua directamente. En exterior, necesita una carcasa ventilada y protegida de lluvia y radiación solar. Medir bajo el sol no es medir la temperatura del aire: es medir un pequeño horno de plástico.
Por último, no bases una decisión crítica en una única lectura. Para activar un ventilador o una alarma, aplica histéresis o promedia varias muestras. Por ejemplo, activa a 65 % HR y desactiva al bajar de 60 % HR. Así evitas que un relé conmute sin parar cuando el valor queda justo en el umbral.
Qué sensor elegir según tu proyecto
Para aprender Arduino y hacer prácticas simples, el DHT11 es suficiente si aceptas sus límites. Para monitorización doméstica o un proyecto económico que necesite un rango más útil, el DHT22 sigue siendo una opción válida. Si buscas lecturas más consistentes y cableado I2C, el SHT31 es una elección más seria. Y si además necesitas presión atmosférica, el BME280 tiene sentido.
En Pinout se prioriza la documentación de montaje porque el sensor adecuado no es solo el que aparece en una tabla de especificaciones: es el que puedes alimentar a la tensión correcta, conectar sin dudas y leer con código que compila. Empieza por definir qué decisión tomarás con el dato. Esa respuesta suele decirte más sobre el sensor que necesitas que cualquier foto del módulo.