En este artículo, vamos a explorar cómo podemos conectar y utilizar el módulo DHT11 con Arduino. El DHT11 es un sensor de temperatura y humedad económico y preciso, perfecto para proyectos de monitorización ambiental y domótica. Aprenderemos cómo establecer la comunicación entre el módulo DHT11 y Arduino, así como cómo interpretar los datos proporcionados por este sensor. ¡Sigue leyendo para descubrir cómo crear tu propio sistema de monitoreo de temperatura y humedad!
¿Quiere registrar el clima en su invernadero, construir un sistema de control de humidores o realizar un seguimiento de los datos de temperatura y humedad para un proyecto de estación meteorológica? ¡El módulo sensor de temperatura y humedad DHT11 de AOSONG puede ser justo lo que necesita!
Este sensor está calibrado de fábrica y no requiere ningún componente externo para funcionar. Con sólo unas pocas conexiones y algo de código Arduino, puedes empezar a medir la humedad relativa y la temperatura de inmediato.
Descripción general del hardware del módulo DHT11
El corazón del módulo es el sensor digital de temperatura y humedad de AOSONG – DHT11.
sensor DHT11
El DHT11 puede medir temperaturas de 0°C a 50°C con una precisión de ±2,0°C y humedad del 20 al 80% con una precisión del 5%.
Tenga en cuenta que el DHT11 tiene una frecuencia de muestreo de 1 Hz, lo que significa que puede proporcionar nuevos datos una vez por segundo.
Circuitos de soporte
El módulo incluye todos los circuitos de soporte necesarios para que pueda usarse nada más sacarlo de la caja.
Los sensores DHT11 generalmente requieren una resistencia pull-up externa de 10K en el pin de salida para una comunicación adecuada entre el sensor y el Arduino. Sin embargo, dado que el módulo ya tiene una resistencia pull-up, no es necesario agregar una.
El módulo también incluye un condensador de desacoplamiento para filtrar el ruido de la fuente de alimentación.
Dentro del sensor DHT11
Si retira la carcasa del sensor, encontrará un termistor NTC y un componente del sensor de humedad en el interior.
El componente del sensor de humedad tiene dos electrodos con un sustrato que retiene la humedad (generalmente una sal o un polímero plástico conductor) entre ellos.
A medida que aumenta la humedad, el sustrato absorbe vapor de agua, lo que libera iones y reduce la resistencia entre los dos electrodos.
Este cambio de resistencia es proporcional a la humedad, que se puede medir para estimar la humedad relativa.
DHt11 también incluye un termistor NTC para medición de temperatura. Un termistor es un tipo de resistencia cuyo valor de resistencia varía con la temperatura.
Técnicamente, todas las resistencias son termistores en el sentido de que su resistencia cambia ligeramente con la temperatura. Sin embargo, este cambio suele ser muy pequeño y difícil de medir. Los termistores están diseñados para que su resistencia varíe mucho con la temperatura (100 ohmios o más por grado). El término «NTC» significa «coeficiente de temperatura negativo» y significa que la resistencia disminuye a medida que aumenta la temperatura.
El sensor también contiene un IC de 8 bits en el paquete SOIC-14. Este IC mide y procesa la señal analógica utilizando coeficientes de calibración almacenados, convierte la señal analógica en digital y genera una señal digital que contiene la temperatura y la humedad.
Asignación de pines del módulo DHT11
El módulo DHT11 es relativamente fácil de conectar. Sólo hay tres pines:
+ (CCV) El pin suministra energía al sensor. Aunque el voltaje de alimentación del módulo está entre 3,3 V y 5,5 V, se recomienda un suministro de 5 V. Con una fuente de alimentación de 5V, el sensor se puede colocar a una distancia de hasta 20 metros. Con una tensión de alimentación de 3,3V, el sensor se puede colocar a tan solo 1 metro de distancia; de lo contrario, la caída de tensión de la red provocará errores de medición.
Fuera de El pin se utiliza para la comunicación entre el sensor y el microcontrolador.
– (TIERRA) es el pin de tierra.
Cableado del módulo DHT11 a Arduino
¡Ahora es el momento de conectar el módulo DHT11 al Arduino!
Las conexiones son relativamente simples. Primero, conecte el pin + (VCC) a la salida de 5 V del Arduino y el pin – (GND) a tierra. Finalmente, conecte el pin de salida al pin digital n.° 8.
El siguiente diagrama muestra cómo está todo conectado.
Instalar la biblioteca DHT
Los sensores DHT tienen su propio protocolo de transmisión de datos de un solo cable. Este protocolo requiere una sincronización precisa. Sin embargo, no tenemos que preocuparnos demasiado por eso ya que eso es lo que vamos a utilizar. biblioteca DHTlibque se encarga de casi todo.
Para instalar la biblioteca, navegue hasta Bosquejo > Incluir biblioteca > Administrar bibliotecas… Espere a que el administrador de la biblioteca descargue el índice de la biblioteca y actualice la lista de bibliotecas instaladas.
Filtra tu búsqueda escribiendo 'dhlib'.Solo debe haber una entrada. Haga clic en él y luego seleccione «Instalar».
Ejemplo 1 de Arduino: visualización de lecturas en el monitor serie
Después de instalar la biblioteca, copie y pegue este boceto en el IDE de Arduino.
El siguiente boceto de prueba imprime los valores de temperatura y humedad relativa en el monitor de serie. Pruebe el boceto y lo repasaremos con más detalle.
#include <dht.h> // Include library
#define outPin 8 // Defines pin number to which the sensor is connected
dht DHT; // Creates a DHT object
void setup() {
Serial.begin(9600);
}
void loop() {
int readData = DHT.read11(outPin);
float t = DHT.temperature; // Read temperature
float h = DHT.humidity; // Read humidity
Serial.print("Temperature = ");
Serial.print
Serial.print("°C | ");
Serial.print((t*9.0)/5.0+32.0); // Convert celsius to fahrenheit
Serial.println("°F ");
Serial.print("Humidity = ");
Serial.print(h);
Serial.println("% ");
Serial.println("");
delay(2000); // wait two seconds
}
Después de cargar el boceto, debería ver el siguiente resultado en el monitor serie.
Explicación del código:
El boceto comienza con la integración de la biblioteca DHT. Luego especificamos el número de pin Arduino al que está conectado el pin de datos de nuestro sensor y creamos uno DHT
Objeto.
#include <dht.h>
#define outPin 8
dht DHT;
En la configuración inicializamos la comunicación serie.
void setup() {
Serial.begin(9600);
}
En el bucle utilizamos el read11()
Función para leer el módulo DHT11. Esta función utiliza el número de pin de datos del sensor como parámetro.
int readData = DHT.read11(outPin);
Ahora podemos obtener los valores de humedad y temperatura accediendo a las propiedades del objeto DHT mediante el punto .
Notación.
float t = DHT.temperature; // Read temperature
float h = DHT.humidity; // Read humidity
El objeto DHT devuelve la temperatura en grados Celsius (°C). La conversión a Fahrenheit (°F) se puede convertir fácilmente usando la siguiente fórmula:
T(°F) = T(°C) × 9/5 + 32
Serial.print((t * 9.0) / 5.0 + 32.0);
Ejemplo 2 de Arduino: visualización de lecturas en la pantalla LCD
Si está construyendo su propia incubadora o un proyecto similar, necesitará una pantalla LCD de 16 × 2 caracteres en lugar de un monitor en serie para mostrar las lecturas actuales de temperatura y humedad. Entonces, en este ejemplo, además del módulo DHT11, también conectamos la pantalla LCD al Arduino.
Así es como se ve el resultado.
Si no está familiarizado con las pantallas LCD de 16×2 caracteres, debería leer el siguiente tutorial.
LECTURAS SUGERIDAS
alambrado
A continuación, conecte la pantalla LCD como se muestra a continuación.
código arduino
El siguiente boceto muestra los valores de temperatura y humedad relativa en la pantalla LCD de 16×2 caracteres. Este boceto es similar al anterior excepto que los valores están impresos en la pantalla LCD.
#include <LiquidCrystal.h> // Include LiquidCrystal Library
#include <dht.h>
#define outPin 8
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Create an LCD object.
dht DHT; // Create a DHT object
void setup() {
lcd.begin(16,2); // Initialize the LCD
}
void loop() {
int readData = DHT.read11(outPin);
float t = DHT.temperature;
float h = DHT.humidity;
lcd.setCursor(0,0);
lcd.print("Temp.: ");
lcd.print
lcd.print((char)223); //shows degrees character
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Humi.: ");
lcd.print(h);
lcd.print("%");
delay(2000);
}
Introducción
Si deseas llevar un registro del clima en tu invernadero, construir un sistema de control de humidor o rastrear datos de temperatura y humedad para un proyecto de estación meteorológica, el sensor de temperatura y humedad DHT11 de AOSONG podría ser perfecto para ti.
Información del Hardware del Módulo DHT11
En el corazón del módulo se encuentra el sensor digital de temperatura y humedad fabricado por AOSONG: DHT11. Este sensor puede medir la temperatura de 0°C a 50°C con una precisión de ±2.0°C y la humedad del 20 al 80% con una precisión del 5%.
Circuito de Soporte
El módulo incluye todo el circuito necesario para funcionar, por lo que puede ser utilizado directamente.
Pinout del Módulo DHT11
El módulo DHT11 es relativamente fácil de conectar. Solo tiene tres pines:
- + (VCC): proporciona energía al sensor
- Out: para la comunicación entre el sensor y el microcontrolador
- – (GND): el pin de tierra
Conexión del Módulo DHT11 a Arduino
Las conexiones son simples. Conecta el pin + (VCC) a la salida de 5V de Arduino, el pin – (GND) a tierra y el pin Out al pin digital #8.
Instalación de la Biblioteca DHT
Los sensores DHT utilizan un protocolo de transferencia de datos de un solo cable que requiere un tiempo preciso. Para simplificar esto, usaremos la biblioteca DHTlib que maneja casi todo.
Ejemplos de Arduino
Ejemplo 1 – Mostrar Lecturas en el Monitor Serial
Después de instalar la biblioteca, puedes utilizar este sketch para imprimir los valores de temperatura y humedad en el monitor serial de Arduino.
Ejemplo 2 – Mostrar Lecturas en un LCD
Si estás construyendo tu propio incubadora u otro proyecto similar, necesitarás un LCD de caracteres 16×2 en lugar de un monitor serial para mostrar los niveles actuales de temperatura y humedad. Este sketch te ayudará a lograrlo.
Conclusión
El módulo DHT11 es una excelente opción para proyectos que requieren medir la temperatura y humedad. Con la información y ejemplos proporcionados aquí, podrás integrar fácilmente este sensor en tus propias creaciones con Arduino.
Muy útil el tutorial, gracias por compartirlo!
¡Gracias por el tutorial! Me resultó súper claro y me ayudó a trabajar con el módulo DHT11 en mi proyecto con Arduino. ¡Buena vibra!
¡Gracias por el artículo! Me ha ayudado un montón a comprender mejor cómo utilizar el módulo DHT11 con Arduino. ¡Estoy ansioso por poner en práctica lo aprendido! ¡Saludos!
¡Este artículo me ha sacado de muchas dudas! Gracias por la excelente explicación sobre la interfaz del módulo DHT11 con Arduino. ¡Ya estoy listo para empezar a practicar! ¡Saludos!
¡Excelente explicación! Me ayudó mucho a entender cómo funciona la interfaz del módulo DHT11 con Arduino. ¡Gracias por compartir tus conocimientos!