Código de Arduino y vídeo para el sensor de temperatura y humedad DHT11
En este tutorial, exploraremos cómo usar el sensor de temperatura y humedad DHT11 con un Arduino. Este sensor es una opción de bajo costo para medir tanto la temperatura como la humedad, lo que lo convierte en una elección perfecta para diversos proyectos. Cubriremos el cableado, el código necesario y cómo interactúan los componentes para proporcionar lecturas precisas.

Al final de este tutorial, podrás leer la temperatura en Celsius, Fahrenheit y Kelvin, así como los niveles de humedad del sensor DHT11. Para mayor claridad, asegúrate de consultar el video en las marcas de tiempo indicadas (en el video a 00:00).
Hardware explicado
El sensor DHT11 consta de tres pines: tierra, alimentación y datos. El pin de tierra se conecta a la tierra del Arduino, mientras que el pin de alimentación se conecta a una fuente de 5V del Arduino. El pin de datos es responsable de la comunicación entre el Arduino y el sensor, lo que permite al Arduino leer los valores de temperatura y humedad.
Este sensor emplea una salida digital, lo que significa que envía datos en formato serial al Arduino. Contiene un termistor para la medición de la temperatura y un sensor capacitivo de humedad. El DHT11 convierte las señales analógicas que recibe en señales digitales, lo que facilita que microcontroladores como Arduino procesen los datos.
Detalles de la hoja de datos
| Fabricante | ASAIR |
|---|---|
| Número de pieza | DHT11 |
| Tensión lógica/E/S | 3.3-5.5 V |
| Tensión de alimentación | 3.3-5.5 V |
| Corriente de salida (por canal) | 0,5 mA |
| Corriente de pico (por canal) | 2.5 mA |
| Orientación sobre la frecuencia PWM | No aplica |
| Umbrales lógicos de entrada | 0.3*VDDa 0.7*VDD |
| Caída de tensión / RDS(en conducción)/ saturación | No aplica |
| Límites térmicos | 0 a 60 °C |
| Paquete | DIP de 4 pines |
| Notas / variantes | Económico y fácil de usar |
- Tensión de funcionamiento entre 3.3V y 5.5V.
- Corriente de salida máxima de 2,5 mA.
- Rango de temperatura de 0 a 60 grados Celsius.
- Rango de humedad de 20% a 90%.
- Use una resistencia pull-up en el pin de datos para lecturas estables.
- Asegúrese de una conexión adecuada para evitar entradas flotantes.
- Tenga cuidado con la polaridad invertida al conectar la alimentación.
- Retrase las lecturas al menos 1 segundo para obtener resultados precisos.
Instrucciones de cableado

Para conectar el sensor DHT11 a tu Arduino, sigue estos pasos:
Primero, conecta el pin de tierra (generalmente negro o marrón) del DHT11 al GND (masa) del Arduino. A continuación, conecta el pin de alimentación (generalmente rojo) del DHT11 a la salida de 5V del Arduino. Finalmente, conecta el pin de datos (generalmente amarillo o blanco) al pin digital 2 del Arduino. Asegúrate de usar una resistencia pull-up (alrededor de 10 kΩ) entre el pin de datos y el pin de alimentación para garantizar una comunicación estable.
Ejemplos de código y guía paso a paso
En el código de Arduino, comenzamos incluyendo el archivo de cabecera necesario para el sensor DHT11:
#include Esta línea importa la biblioteca que contiene las funciones necesarias para interactuar con el sensor DHT11. A continuación, creamos una instancia de la clase DHT11:
dht11 DHT11; // create object of DHT11Esta línea inicializa el objeto DHT11 que utilizaremos para leer datos del sensor. El pin conectado al DHT11 se define como:
#define dhtpin 2 // set the pin to connect to DHT11Esto establece el pin de datos del sensor en el pin 2 del Arduino. En elloop()función, leemos los datos del sensor:
DHT11.read(dhtpin);// initialize the readingEsta línea inicia el proceso de lectura, y la humedad puede obtenerse con:
int humidity = DHT11.humidity;// get humidityEl valor de la humedad se almacena en la variablehumidity, que luego se imprime en el monitor serial junto con los valores de temperatura convertidos a Celsius, Fahrenheit y Kelvin.
Demostración / Qué esperar
Cuando ejecutes el código, deberías ver lecturas de temperatura y humedad mostradas en el monitor serial. Las lecturas de temperatura se actualizarán cada medio segundo (en el video en 00:00). Si el sensor se calienta o se enfría, notarás que los valores cambian en consecuencia. Ten precaución, ya que el DHT11 tiene un límite máximo de temperatura de 60 grados Celsius; superarlo puede provocar lecturas inexactas.
Marcas de tiempo del vídeo
- 00:00- Introducción al sensor DHT11
- 01:30- Instrucciones de cableado
- 02:15- Descripción general del código
- 03:00- Ejecutar el código y la salida esperada
Recursos y referencias
-
ExternoBiblioteca DHT11 en GitHubgithub.com
Archivos📁
Bibliotecas de Arduino (zip)
-
Biblioteca DHT22 para Arduino
robojax-DHT22_library.zip0.01 MB
Archivo de Fritzing
-
Temperature Sensor DHT11
application/zip0.01 MB
Manual del Usuario
-
Manual del usuario DHT11
robojax-DHT11_manual.pdf0.82 MB