Cómo Conectar el DHT11 KY-015 a tu Arduino UNO
Compartir
Si estás armando una estación meteorológica casera, un sistema de riego automatizado o cualquier proyecto que necesite monitorear el ambiente, el DHT11 (módulo KY-015) es de los sensores más usados para empezar. Combina en una sola placa un sensor capacitivo de humedad y un termistor, y entrega ambas lecturas por un único pin digital, lo que simplifica mucho el cableado frente a otras soluciones analógicas.
En este Cuaderno Técnico vas a encontrar todo lo que necesitas para partir: qué es y cómo funciona, sus especificaciones oficiales, pinout, dimensiones, cómo conectarlo a un Arduino UNO, ejemplo de código y qué otros componentes necesitas para armar tu proyecto completo.
¿Qué es y para qué sirve el DHT11 (KY-015)?
El KY-015 es una placa que integra el sensor DHT11, encargado de medir la temperatura ambiente y la humedad relativa del aire, transmitiendo ambos datos en formato digital a través de una sola línea (protocolo propio tipo "single bus", distinto de I2C, SPI o 1-Wire estándar). Esto lo hace ideal para proyectos educativos y de IoT: invernaderos, control de ventilación, estaciones climáticas o cualquier sistema que reaccione a las condiciones del ambiente.
Es compatible con Arduino UNO, Mega, Nano, ESP8266, ESP32 y Raspberry Pi.
Especificaciones y características técnicas
Datos entregados por el fabricante, útiles para saber si el sensor se ajusta a tu proyecto:
| Parámetro | Valor |
|---|---|
| Voltaje de operación | 3.3 V - 5.5 V |
| Rango de humedad | 20% a 90% RH (±5% de error) |
| Rango de temperatura | 0°C a 50°C (±2°C de error) |
| Resolución | 1% RH / 1°C |
| Frecuencia de muestreo | 1 Hz (una lectura por segundo) |
| Tipo de salida | Digital, un solo pin (protocolo propio) |
Dimensiones físicas
El módulo es bastante compacto, lo que facilita integrarlo en proyectos con poco espacio disponible.
- Alto: 19 mm
- Ancho: 17 mm
- Profundidad: 19 mm
- Peso: 3 g
Documentación y recursos descargables
Te dejamos el pinout y las conexiones abiertas más abajo en este mismo artículo. Si quieres el datasheet técnico completo en PDF del DHT11, ingresa tu correo y te lo enviamos junto con un cupón de descuento:
Ingresa tu correo y te enviamos el datasheet completo del DHT11 en PDF, además de un cupón de descuento para tu próxima compra en Electrineill.
📩 El correo puede llegar a tu carpeta de Spam o Promociones, revisa ahí si no lo ves en los primeros minutos.
Al ingresar tu correo aceptas recibir comunicaciones de Electrineill. Puedes darte de baja cuando quieras.
⚠️ Nota interna: mientras configuras el envío automático del PDF tras el registro, puedes dejar temporalmente disponible el link directo de descarga aquí también: Descargar Datasheet DHT11 (PDF)
Información técnica adicional
Pinout: identificando los pines
El módulo trae 3 pines ya identificados en la placa. La resistencia pull-up para la línea de datos ya viene integrada, así que no necesitas agregar una externa.
| Pin | Nombre | Función |
|---|---|---|
| S | Señal / Data | Salida digital con los datos de temperatura y humedad |
| + | VCC | Alimentación, de 3.3V a 5.5V (recomendado 5V) |
| - | GND | Tierra |
Conexión con Arduino UNO
La conexión es directa, sin componentes adicionales:
| DHT11 (KY-015) | Arduino UNO |
|---|---|
| S (Data) | Pin Digital 8 |
| + (VCC) | 5V |
| - (GND) | GND |
Importante: el pin de datos (S) puede conectarse a cualquier pin digital del Arduino, solo hay que actualizar el número en el código. En este ejemplo usamos el pin 8.
Programación en Arduino IDE
Para leer el sensor se necesita instalar una librería. Desde el Arduino IDE: Programa → Incluir Librería → Administrar Bibliotecas, busca DHT sensor library (de Adafruit) e instálala.
Código de ejemplo (puedes copiarlo directamente):
#include <DHT.h>
#define DHTPIN 8 // Pin de datos conectado al D8
#define DHTTYPE DHT11 // Tipo de sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println(F("=== Monitor DHT11 ==="));
Serial.println(F("Humedad (%)\tTemperatura (C)"));
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println(F("Error al leer el DHT11!"));
} else {
Serial.print(h, 1);
Serial.print(F("\t"));
Serial.print(t, 1);
Serial.println(F(" C"));
}
delay(2000);
}
Dato técnico: el DHT11 solo toma una lectura por segundo (1 Hz), así que no tiene sentido pedirle datos con un delay menor a 2 segundos — el sensor simplemente devolvería el mismo valor o un error de lectura. Si tu proyecto necesita mayor precisión o rangos más amplios, considera el DHT22, su hermano mayor.
Componentes que necesitas para este proyecto
Para replicar el proyecto de este artículo necesitas lo siguiente (todo disponible en nuestra tienda):
Sensor DHT11 KY-015
$1.500 CLP
Arduino UNO
$9.990 CLP
Protoboard MB-102
$4.990 CLP
Cables Jumper DuPont
$4.500 CLP
Sigue explorando
Con esto ya puedes integrar el DHT11 en tu proyecto de monitoreo ambiental. Si tu aplicación necesita mayor precisión, rangos más amplios, o medir otras variables de humedad, en la tienda también encuentras estas alternativas:
- DHT22 (AM2302) — Mayor precisión y rango de medición
- Sensor de Lluvia y Humedad — Detección de gotas de agua
- Sensor de Humedad Capacitivo — Ideal para humedad de suelo/riego