Módulo Sensor DHT11 permite medir temperatura y humedad relativa de precisión aceptable

Módulo Sensor DHT11 es un sensor digital económico y fácil de usar que mide la temperatura y la humedad relativa del aire. Equipado con un termistor para la temperatura y un sensor capacitivo para la humedad, el DHT11 proporciona lecturas precisas a través de una señal digital en su pin de datos. Este módulo es ideal para una amplia gama de aplicaciones, desde proyectos académicos hasta sistemas de monitoreo ambiental en agricultura y control de clima.

El sensor DHT11 es compatible con plataformas populares como Arduino, ESP32, ESP8266 y Raspberry Pi, y su uso es sencillo tanto en términos de hardware como de software. Incluye una resistencia pull-up de 10k ohm incorporada para asegurar un funcionamiento óptimo. Aunque el sensor puede no ser tan preciso o tener un rango de medición tan amplio como otros modelos como el DHT22 o DHT21, su tamaño compacto y bajo costo lo convierten en una opción atractiva para muchos proyectos.

Características Principales:

  • Facilidad de Uso: Conexión simple mediante un solo cable para datos, alimentación y tierra.
  • Compatibilidad Amplia: Funciona con Arduino, ESP32, ESP8266 y Raspberry Pi.
  • Lecturas Digitales: Ofrece datos digitales, eliminando la necesidad de conversiones analógicas.
  • Calibración de Fábrica: Cada sensor viene calibrado con coeficientes almacenados en memoria OTP para garantizar estabilidad y precisión a largo plazo.

Especificaciones Técnicas:

  • Voltaje de Operación: 3V – 5V DC
  • Rango de Temperatura: 0 a 50 °C
  • Precisión de Temperatura: ±2.0 °C
  • Resolución de Temperatura: 0.1 °C
  • Rango de Humedad: 20% a 90% RH
  • Precisión de Humedad: ±5% RH
  • Resolución de Humedad: 1% RH
  • Tiempo de Sensado: 1 segundo
  • Interfaz Digital: Single-bus bidireccional
  • Modelo: DHT11
  • Carcasa: Plástico celeste
  • Dimensiones: 22 x 16 x 7 mm
  • Peso: 2 g

Conexiones del Módulo:

  • Pin 1 – Datos (DATA): Conecta al pin digital de tu microcontrolador.
  • Pin 2 – Alimentación (VCC): Conecta a 3V – 5V DC.
  • Pin 3 – Tierra (GND): Conecta a 0V (Tierra).

Recomendaciones de Uso:

  • Distancia del Cable: La longitud máxima recomendada del cable es de hasta 20 metros. Se recomienda utilizar cables apantallados para minimizar interferencias.
  • Protección: Mantén el sensor alejado de la luz solar directa y radiación UV para asegurar lecturas precisas.

Comparativa con Otros Sensores:

En comparación con los modelos DHT22 y DHT21, el DHT11 es menos preciso y tiene un rango de medición más limitado. Sin embargo, su pequeño tamaño y bajo costo lo hacen ideal para aplicaciones donde el presupuesto es una preocupación principal.

Código de Ejemplo para el Sensor DHT11 en Arduino

Este código proporciona una lectura básica del sensor DHT11, mostrando tanto la temperatura como la humedad en el monitor serial. Puedes adaptarlo según las necesidades de tu proyecto, como activar otros dispositivos en función de las lecturas o registrar los datos en una base de datos.

				
					#include <DHT.h>

// Definimos el tipo de sensor y el pin de datos
#define DHTPIN 2           // Pin digital al que está conectado el pin DATA del DHT11
#define DHTTYPE DHT11      // Define el tipo de sensor DHT que estamos usando

DHT dht(DHTPIN, DHTTYPE);  // Crea una instancia del sensor DHT11

void setup() {
  // Inicializamos el sensor DHT
  dht.begin();
  
  // Inicializamos la comunicación serial
  Serial.begin(9600);
  
  // Mensaje inicial
  Serial.println("Inicializando el Sensor DHT11...");
}

void loop() {
  // Esperamos entre lecturas
  delay(2000);  // El DHT11 necesita tiempo entre lecturas
  
  // Leemos la humedad y la temperatura
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  
  // Verificamos si la lectura ha fallado y mostramos un mensaje de error
  if (isnan(h) || isnan(t)) {
    Serial.println("Error al leer del sensor DHT11");
    return;
  }
  
  // Mostramos los datos en el monitor serial
  Serial.print("Humedad: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.println(" *C");
}
				
			

Explicación del Código

  1. Incluir la Biblioteca DHT:

				
					#include <DHT.h>
				
			
  • Esta línea incluye la biblioteca necesaria para interactuar con el sensor DHT11.

  • Definir Pines y Tipo de Sensor:

				
					#define DHTPIN 2
#define DHTTYPE DHT11
				
			
    • Define el pin digital donde está conectado el pin de datos del DHT11 y el tipo de sensor.

    • Instanciar el Sensor:

				
					DHT dht(DHTPIN, DHTTYPE);
				
			
      • Crea una instancia del sensor DHT11 utilizando el pin definido.

      • Inicialización en el setup:

				
					dht.begin();
Serial.begin(9600);
				
			
  • Inicializa el sensor y la comunicación serial. Imprime un mensaje de inicialización.

  • Lectura y Muestra de Datos en el loop:

				
					float h = dht.readHumidity();
float t = dht.readTemperature();
				
			
    • Lee la humedad y la temperatura. Verifica si las lecturas son válidas y, si lo son, muestra los valores en el monitor serial.

    • Retraso entre Lecturas:

				
					delay(2000);
				
			

Introduce un retraso de 2 segundos entre lecturas para permitir que el sensor se estabilice.

Links