28/10/2024
En el entorno de la electrónica y la programación de microcontroladores, Arduino se ha convertido en una plataforma popular para proyectos de automatización, robótica y monitorización ambiental. Una de las tareas más comunes es la lectura de datos de temperatura y humedad, para lo cual la librería DHT es esencial. Esta tutorial cubre todo lo que necesitas saber sobre la librería DHT, tanto la versión DHT11 como la DHT22, para su correcta implementación en tus proyectos Arduino.
¿Qué es la librería DHT?
La librería DHT es un conjunto de funciones y códigos que facilitan la interacción entre un microcontrolador Arduino y los sensores de temperatura y humedad DHT11 y DHT2Estos sensores son económicos, fáciles de usar y proporcionan lecturas precisas, convirtiéndolos en una opción popular para una amplia gama de aplicaciones. Sin la librería DHT, la comunicación con estos sensores sería significativamente más compleja.

DHT11 vs. DHT22: Comparativa
Existen dos sensores DHT muy comunes: el DHT11 y el DHT2Ambos miden temperatura y humedad, pero tienen algunas diferencias clave:
| Característica | DHT11 | DHT22 |
|---|---|---|
| Precisión de temperatura | ±2°C | ±0.5°C |
| Precisión de humedad | ±5% | ±2% |
| Rango de temperatura | 0°C a 50°C | -40°C a 80°C |
| Rango de humedad | 20% a 80% | 0% a 100% |
| Costo | Bajo | Moderado |
Como puedes ver, el DHT22 ofrece mayor precisión y un rango de operación más amplio, aunque a un costo ligeramente superior. La elección entre uno y otro dependerá de las necesidades específicas de tu proyecto.
Instalación de la librería DHT en Arduino IDE
Antes de comenzar a usar la librería DHT, debes instalarla en tu entorno de desarrollo Arduino IDE. Sigue estos pasos:
- Abre el Arduino IDE.
- Ve a Sketch > Include Library > Manage Libraries...
- En la ventana de búsqueda, escribe "DHT sensor library".
- Selecciona la librería DHT de Adafruit (o una similar, asegúrate de que sea compatible con DHT11 y DHT22) y haz clic en "Install".
- Espera a que la instalación se complete.
Una vez instalada, la librería estará disponible para su uso en tus proyectos.
Código de ejemplo: Lectura de datos DHT11/DHT22
Este ejemplo muestra cómo leer la temperatura y la humedad de un sensor DHT11 o DHT22 usando la librería DHT :
#include <DHT.h>#define DHTPIN 2 // Pin digital al que está conectado el sensor DHT#define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE);void setup() { Serial.begin(9600); dht.begin();}void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Error leyendo del sensor DHT"); } else { Serial.print("Humedad: "); Serial.print(h); Serial.print(" % "); Serial.print("Temperatura: "); Serial.print(t); Serial.println(" °C"); } delay(2000);}Recuerda cambiar DHTPINal pin digital donde hayas conectado tu sensor y DHTTYPEal tipo de sensor que estás utilizando ( DHT11o DHT22). Este código lee los datos del sensor y los imprime en el monitor serial.
Consultas habituales sobre la librería DHT
A continuación, se responden algunas consultas habituales sobre la librería DHT y su uso:
¿Por qué mi sensor DHT no funciona?
Hay varias razones por las que tu sensor DHT podría no funcionar correctamente. Asegúrate de:
- Tener la librería DHT correctamente instalada.
- Verificar las conexiones del sensor al Arduino.
- Utilizar el tipo de sensor correcto (DHT11 o DHT22) en el código.
- Asegurarte de que el pin digital que estás utilizando es el correcto.
- Revisar la alimentación del sensor (generalmente 3V).
¿Cómo puedo leer la temperatura en Fahrenheit?
La función readTemperature()de la librería DHT devuelve la temperatura en grados Celsius por defecto. Para obtener la temperatura en Fahrenheit, puedes usar la siguiente fórmula:
float fahrenheit = (celsius 0 / 0) + 30;¿Qué significa "NaN" en la salida del sensor?
“NaN” significa “Not a Number” (No es un número). Esto generalmente indica un error en la lectura del sensor, posiblemente debido a problemas de conexión o alimentación.
Consejos adicionales para el uso de la Librería DHT
Para obtener lecturas más precisas y fiables de tus sensores DHT, considera estos consejos adicionales:
- Utilizar resistencias pull-up: Aunque no siempre es necesario, añadir resistencias pull-up en el pin de datos del sensor DHT puede mejorar la estabilidad de la señal.
- Calibrar el sensor: Para una mayor precisión, puedes calibrar el sensor DHT comparando sus lecturas con un termómetro y un higrómetro de referencia.
- Evitar interferencias: Los sensores DHT pueden ser sensibles a las interferencias electromagnéticas. Intenta mantenerlos alejados de fuentes de ruido eléctrico.
- Considerar la ubicación del sensor: La ubicación del sensor DHT afectará la precisión de las lecturas. Colócalo en un lugar bien ventilado y lejos de fuentes de calor o humedad.
Dominar el uso de la librería DHT es fundamental para una gran variedad de proyectos de electrónica con Arduino. Con la información proporcionada en esta tutorial, podrás integrar fácilmente estos sensores en tus proyectos y obtener lecturas precisas de temperatura y humedad. Recuerda que la práctica y la experimentación son claves para perfeccionar tus habilidades en programación de Arduino.
Si quieres conocer otros artículos parecidos a Librería dht11 y dht22 para arduino puedes visitar la categoría Libros y Librerías.
