Arduino - Sensor de Temperatura y Humedad
En este tutorial, vamos a aprender:
- Las diferencias entre los sensores de temperatura y humedad DHT11 y DHT22
- Cómo leer los valores de temperatura y humedad del DHT11 usando Arduino
- Cómo leer los valores de temperatura y humedad del DHT22 usando Arduino
Si solo quieres obtener la temperatura, te recomendamos usar un sensor de temperatura DS18B20 impermeable en su lugar. Es un sensor económico y práctico. Puedes colocarlo en agua caliente o fría.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor de temperatura y humedad DHT11 y DHT22
Las características comunes entre el DHT11 y el DHT22
- Las asignaciones de pines son las mismas
- El cableado al Arduino es el mismo
- La programación (con una biblioteca) es similar (solo una línea de código es diferente)
Las diferencias entre DHT11 y DHT22
| DHT11 | DHT22 | |
|---|---|---|
| Price | ultra low cost | low cost |
| Temperature Range | 0°C to 50°C | -40°C to 80°C |
| Temperature Accuracy | ± 2°C | ± 0.5°C |
| Humidity Range | 20% to 80% | 0% to 100% |
| Humidity Accuracy | 5% | ± 2 to 5% |
| Reading Rate | 1Hz (once every second) | 0.5Hz (once every 2 seconds) |
| Body size | 15.5mm x 12mm x 5.5mm | 15.1mm x 25mm x 7.7mm |
| Operating Voltage | 3 to 5V | 3 to 5V |
Como puedes ver, el DHT22 es un poco más preciso, tiene un rango más amplio, pero es más caro que el DHT11.
Diagrama de pines
Los sensores DHT11 y DHT22 en su forma original tienen cuatro pines:
- Pin GND: debe conectarse a GND (0V)
- Pin VCC: debe conectarse a VCC (5V, o 3.3V)
- Pin DATA: se utiliza para comunicar entre el sensor y Arduino
- Pin NC: No conectado, podemos ignorar este pin

Algunos fabricantes proporcionan sensores DHT11 y DHT22 en forma de módulo con tres pines: GND, VCC y DATA (o, alternativamente: -, + y OUT).
※ Nota:
En formato de módulo, el orden de los pines del módulo puede variar entre fabricantes. SIEMPRE utilice las etiquetas impresas en el módulo. ¡Mire de cerca!

Diagrama de Cableado
El cableado al Arduino es el mismo para ambos sensores. En su forma original, se requiere una resistencia de 5 kΩ a 10 kΩ para mantener la línea de datos en alto y para habilitar la comunicación entre el sensor y el Arduino.
Arduino - Cableado del sensor DHT11

This image is created using Fritzing. Click to enlarge image
Arduino - Cableado del sensor DHT22

This image is created using Fritzing. Click to enlarge image
Arduino - Cableado del Módulo DHT11
La mayoría de los módulos de sensor DHT22 tienen una resistencia integrada, por lo que no es necesario añadirla. Esto nos ahorra algo de cableado o trabajos de soldadura.

This image is created using Fritzing. Click to enlarge image
Arduino - Cableado del módulo DHT22
La mayoría de los módulos de sensor DHT22 tienen una resistencia integrada, por lo que no es necesario añadirla. Esto nos ahorra algo de cableado o de soldadura.

This image is created using Fritzing. Click to enlarge image
Cómo programar para el sensor de temperatura DHTxx
La programación para ambos sensores es similar. Solo hay una línea de código diferente.
- Incluir la biblioteca:
- Define el pin de Arduino conectado al sensor DHT:
- Define el tipo de sensor: DHT11 o DHT22 (Esta es la línea de código diferente)
o
- Declarar objeto DHT
- Inicializar el sensor:
- Leer la humedad:
- Leer la temperatura en grados Celsius:
- Leer la temperatura en Fahrenheit:
Código de Arduino - DHT11
Código de Arduino - DHT22
Si comparas los dos códigos anteriores, te darás cuenta de que hay una línea diferente (línea 11).
Pasos R\u00e1pidos
- Conecta Arduino a la PC mediante un cable USB
- Abre Arduino IDE, selecciona la placa y el puerto correctos
- Ve al icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “DHT”, luego encuentra la biblioteca de sensores DHT de Adafruit
- Haz clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá instalar algunas otras dependencias de la biblioteca
- Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.

- Copia el código anterior correspondiente al sensor que tienes y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código al Arduino
- Haz que el entorno alrededor del sensor esté más caliente o más frío
- Consulta el resultado en el Monitor Serial.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.