En este tutorial te vamos a mostrar cómo usar un sensor de temperatura y humedad DHT11 con tu placa 2560 R3. Es un componente muy confiable para proyectos que requieren monitorear el ambiente de forma constante y sencilla.
Resumen
El DHT11 es lo suficientemente preciso para la mayoría de los proyectos domésticos. Para que el código sea corto y fácil de escribir, vamos a usar una librería específica diseñada para estos sensores, lo que te va a ahorrar mucho trabajo de programación.
Componentes requeridos
(1) x Elegoo Mega 2560 R3
(1) x Módulo de temperatura y humedad DHT11
(3) x Cables Hembra-Macho (DuPont)
Introducción al componente
El sensor digital de temperatura y humedad DHT11 es un sensor compuesto que entrega una salida de señal digital calibrada. Utiliza una tecnología de recolección de módulos digitales dedicada junto con técnicas de detección de temperatura y humedad para garantizar una alta fiabilidad y una excelente estabilidad a largo plazo. El sensor incluye un componente resistivo para medir la humedad y dispositivos de medición NTC para la temperatura, conectados a un microcontrolador de 8 bits de alto rendimiento.
Aplicaciones: Sistemas HVAC, deshumidificadores, equipos de prueba e inspección, bienes de consumo, automotriz, control automático, data loggers, estaciones meteorológicas, electrodomésticos, reguladores de humedad y uso médico.
Parámetros del producto
El sensor funciona con una alimentación de CC de 3.5 a 5.5V. En cuanto a la humedad, tiene una repetibilidad de ±1% RH y una precisión de ±5% RH a 25°C. Para la temperatura, el rango de medición va de 0°C a 50°C con una repetibilidad de ±0.2°C. Tené en cuenta que el período de muestreo es de más de 2 segundos, por lo que las lecturas no son instantáneas.
Descripción de pines:
- VDD: Alimentación 3.5~5.5V DC.
- DATA: Datos serie, bus único.
- GND: Tierra, polo negativo.
Esquema de conexión y diagrama de cableado
Fijate bien en las conexiones antes de alimentar la placa para evitar cualquier corto. Usá los cables DuPont para conectar el pin de datos al pin digital 2 de tu Elegoo Mega 2560 R3.
Código
Podés hacer clic en el enlace de abajo para bajar el archivo del programa a tu computadora. Una vez que termine la descarga, hacé doble clic para abrirlo. Antes de empezar, fijate que tengas instalado el Arduino IDE, el paquete de soporte de la placa y los drivers correspondientes. Si tenés dudas sobre este proceso, mirá la "Parte 1" de la documentación para orientarte.
📥 DOWNLOAD dht11_example.zip
Importante: Antes de correr el programa, asegurate de tener instalada la librería dht_nonblocking. Si no la instalás, el código no va a andar.
Con este programa, la placa 2560 R3 va a leer los datos del sensor cada 3 segundos y va a mostrar los resultados en el monitor serie una vez que el código esté compilado y subido. Para verlo, hacé clic en el botón del Serial Monitor en el software de Arduino.
Análisis del código
#include <dht_nonblocking.h>: Incluye la librería para el sensor.
#define DHT_SENSOR_TYPE DHT_TYPE_11: Define que el sensor es un DHT11.
static const int DHT_SENSOR_PIN = 2: Setea el pin D2 para la conexión.
void setup(): Inicializa la comunicación serie a 9600 baudios para que puedas ver los datos en la compu.
La función measure_environment() es un ayudante estático que mide la temperatura y la humedad de forma "no bloqueante". Esto significa que usa un measurement_timestamp para chequear si pasaron los 3 segundos necesarios sin detener la ejecución de otras tareas, devolviendo true solo cuando la medición fue exitosa.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.