Interfaz del módulo DHT11 con Arduino

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%.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

Asignación de pines del módulo DHT11

El módulo DHT11 es relativamente fácil de conectar. Sólo hay tres pines:

Interfaz del módulo DHT11 con Arduino

+ (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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

Filtra tu búsqueda escribiendo 'dhlib'.Solo debe haber una entrada. Haga clic en él y luego seleccione «Instalar».

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

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.

Interfaz del módulo DHT11 con Arduino

Si no está familiarizado con las pantallas LCD de 16×2 caracteres, debería leer el siguiente tutorial.

LECTURAS SUGERIDAS

Interfaz del módulo DHT11 con Arduino
Conexión de un módulo LCD de 16 × 2 caracteres a Arduino
El Serial Monitor es una forma práctica de mostrar datos de un Arduino, pero ¿qué sucede si desea que su proyecto sea portátil y muestre…

alambrado

A continuación, conecte la pantalla LCD como se muestra a continuación.

Interfaz del módulo DHT11 con Arduino

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);
}

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Interfaz del módulo DHT11 con Arduino

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:

  1. + (VCC): proporciona energía al sensor
  2. Out: para la comunicación entre el sensor y el microcontrolador
  3. – (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.


5 comentarios en «Interfaz del módulo DHT11 con Arduino»

Deja un comentario