DHT11, Cómo configurar este sensor de humedad en un Arduino

¿Qué es un sensor DHT11?

La humedad es la medida del vapor de agua presente en el aire. El nivel de humedad en el aire afecta a varios procesos físicos, químicos y biológicos. En las aplicaciones industriales, la humedad puede afectar al coste empresarial de los productos, la salud y la seguridad de los empleados. Por lo tanto, en las industrias de semiconductores y en las industrias de sistemas de control la medición de la humedad es muy importante. La medición de la humedad determina la cantidad de humedad presente en el gas que puede ser una mezcla de vapor de agua, nitrógeno, argón o gas puro, etc. Los sensores de humedad son de dos tipos basados en sus unidades de medición. Son un sensor de humedad relativa y un sensor de humedad absoluta. El DHT11 es un sensor digital de temperatura y humedad.sensor DHT11

El DHT11 es un sensor digital de bajo costo para detectar la temperatura y la humedad. Este sensor puede ser fácilmente conectado a cualquier microcontrolador como el Arduino, la Raspberry Pi, etc… para medir la humedad y la temperatura instantáneamente.

El sensor de humedad y temperatura DHT11 está disponible como sensor y como módulo. La diferencia entre este sensor y el módulo es la resistencia de pull-up y un LED de encendido. El DHT11 es un sensor de humedad relativa. Para medir el aire circundante, este sensor utiliza un termistor y un sensor capacitivo de humedad.

No products found.

Características del DHT11

  • El DHT11 es un sensor incorporado de bajo precio, que se utiliza para medir la temperatura (en un rango de 0 a 50 grados centígrados con una precisión de +-2 C) y la humedad (en un rango de 20% a 80% con una precisión de +-5%).
  • Consiste en un sensor capacitivo de humedad que mide la humedad del aire.
  • Para la medición de la temperatura, tiene un termistor incorporado, que es un dispositivo de medición de temperatura NTC resistivo y húmedo.
  • Funciona con sistemas de microcontroladores de 3,3V y 5V.
  • Este sensor tiene una excelente calidad, un rápido tiempo de respuesta y capacidad antiinterferencia.
  • En el DHT11, los coeficientes de calibración ya están almacenados en la memoria del programa OTP, sólo tenemos que llamar a estos coeficientes de calibración mientras los sensores internos detectan la señal en el proceso.
  • Utiliza baja potencia en la transmisión de señales simples hasta 20 metros.
  • Viene en un solo paquete que comprende 4 pines con 0.1″ de espacio entre ellos y se puede proporcionar un paquete especial según la demanda del usuario.
  • Es bastante preciso y exacto en sus lecturas en comparación con otros sensores caros, como el SHT10, DS18B20, etc.

Aquí están los rangos y la precisión del DHT11:

  • Rango de humedad: 20-90% de humedad relativa
  • Precisión de la humedad: ± 5% RH
  • Rango de temperatura: 0-50°C
  • Precisión de la temperatura: ± 2% ° C
  • Tensión de funcionamiento: 3 V a 5,5 V

Cómo funciona el sensor DHT11

El sensor DHT11 consiste en un elemento sensor de humedad capacitivo y un termistor para detectar la temperatura. El condensador sensor de humedad tiene dos electrodos con un sustrato que retiene la humedad como un dieléctrico entre ellos. El cambio en el valor de la capacitancia se produce con el cambio en los niveles de humedad. El IC mide, procesa estos valores de resistencia cambiados y los cambia en forma digital.

Para medir la temperatura, este sensor utiliza un termistor de coeficiente de temperatura negativa, que provoca una disminución de su valor de resistencia con el aumento de la temperatura. Para obtener un mayor valor de resistencia incluso para el más pequeño cambio de temperatura, este sensor suele estar compuesto por cerámicas semiconductoras o polímeros.

El rango de temperatura del DHT11 es de 0 a 50 grados centígrados con una precisión de 2 grados. El rango de humedad de este sensor es de 20 a 80% con una precisión del 5%. La tasa de muestreo de este sensor es de 1Hz, es decir, da una lectura por cada segundo. El DHT11 es de tamaño pequeño con un voltaje de operación de 3 a 5 voltios. La máxima corriente utilizada en la medición es de 2,5mA.

El sensor DHT11 tiene cuatro clavijas: VCC, GND, Clavija de datos y una clavija no conectada. Una resistencia de 5k a 10k ohmios se proporciona para la comunicación entre el sensor y el microcontrolador.

Cómo el DHT11 mide la temperatura y la humedad

Dentro del DHT11, hay un componente sensor de humedad junto con un termistor. El componente de detección de humedad tiene dos electrodos con un sustrato que retiene la humedad entre ellos. Los iones son liberados por el sustrato a medida que éste absorbe el vapor de agua, lo que a su vez aumenta la conductividad entre los electrodos.

El cambio de resistencia entre los dos electrodos es proporcional a la humedad relativa. Una mayor humedad relativa disminuye la resistencia entre los electrodos, mientras que una menor humedad relativa aumenta la resistencia entre los electrodos.

Estructura interna del sensor de humedad en el DHT11 DHT22

El DHt11 también contiene un NTC/Termistor para medir la temperatura. Un termistor es una resistencia térmica cuya resistencia cambia drásticamente con la temperatura. El término «NTC» significa «Coeficiente Negativo de Temperatura», lo que significa que la resistencia disminuye con el aumento de la temperatura.

termistor en DHT11

En el otro lado, hay un pequeño PCB con un paquete de 8-bit SOIC-14 IC. Este IC mide y procesa la señal analógica con los coeficientes de calibración almacenados, hace la conversión analógica a digital y escupe una señal digital con la temperatura y la humedad.

interior-DHT11-Sensor

¿Qué es la humedad relativa?

El DHT11 mide la humedad relativa. La humedad relativa es la cantidad de vapor de agua en el aire vs. el punto de saturación del vapor de agua en el aire. En el punto de saturación, el vapor de agua comienza a condensarse y a acumularse en las superficies formando rocío.

El punto de saturación cambia con la temperatura del aire. El aire frío puede retener menos vapor de agua antes de saturarse y el aire caliente puede retener más vapor de agua antes de saturarse.

La fórmula para calcular la humedad relativa es:

formula humedad relativa

La humedad relativa se expresa como un porcentaje. Al 100% de HR, se produce condensación, y al 0% de HR, el aire está completamente seco.

 

Pinout Sensor DHT11

pinout DHT11

No: Nombre del Pin
Descripción
Para el sensor DHT11
1 Vcc Fuente de alimentación de 3.5V a 5.5V
2 Datos Produce tanto la temperatura como la humedad a través de los datos en serie
3 NC No hay conexión y por lo tanto no se utiliza
4 Tierra Conectado a la tierra del circuito
Para el módulo del sensor DHT11
1 Vcc Fuente de alimentación de 3.5V a 5.5V
2 Datos Produce tanto la temperatura como la humedad a través de los datos en serie
3 Tierra Conectado a la tierra del circuito

Descripción del hardware del módulo DHT11

En el corazón del módulo está el sensor digital de temperatura y humedad fabricado por AOSONG – DHT11.

Sensor DHT11

El DHT11 puede medir la temperatura de 0°C a 50°C con una precisión de ±2,0°C, y la humedad de 20 a 80% con una precisión de 5%. Observe que la frecuencia de muestreo del DHT11 es de 1Hz, lo que significa que puede obtener nuevos datos de él una vez cada segundo.

Circuitos de apoyo

El módulo viene con todos los circuitos de apoyo esenciales, así que debería estar listo para funcionar sin ningún componente extra. Los sensores del DHT11 suelen requerir una resistencia de pull-up externa de 10KΩ entre el VCC y la clavija de salida para una comunicación adecuada entre el sensor y el Arduino. Sin embargo, el módulo tiene una resistencia pull-up incorporada, así que no es necesario añadirla.

El módulo también tiene un condensador de desacoplamiento para filtrar el ruido en la fuente de alimentación.

Aplicaciones

Este sensor se utiliza en diversas aplicaciones, como la medición de los valores de humedad y temperatura en sistemas de calefacción, ventilación y aire acondicionado. Las estaciones meteorológicas también utilizan estos sensores para predecir las condiciones meteorológicas. El sensor de humedad se utiliza como medida preventiva en los hogares donde las personas se ven afectadas por la humedad. Las oficinas, los coches, los museos, los invernaderos y las industrias utilizan este sensor para medir los valores de humedad y como medida de seguridad.

Su tamaño compacto y la velocidad de muestreo hicieron que este sensor fuera popular entre los aficionados. Algunos de los sensores que se pueden usar como alternativa al sensor DHT11 son DHT22, AM2302, SHT71.

Midiendo la temperatura y la humedad con Arduino y el sensor DHT11

Para realizar este proyecto necesitaremos los siguientes componentes:

  • El sensor DHT11
  • Arduino (cualquier modelo está bien, en esta guía usaremos Arduino Uno)
  • Resistencia de 4,7 kΏ
  • Cables de conexión
  • La biblioteca de DHT11 se puede descargar desde este enlace

Conexiones

La conexión a Arduino es muy simple: tenemos que conectar el pin de la fuente de alimentación al Arduino +5V, el pin de tierra al GND y el pin de datos a cualquier puerto digital, en esta guía usaré el número 4. Ahora se preguntarán para qué sirve la resistencia, es decir, una resistencia pull-up (aquí la página de wikipedia). Abajo hay una imagen de cómo se deben hacer los enlaces.

conexion DHT11 Arduino Uno

En general, esta es la interfaz con los microprocesadores:

diagrama conexion DHT11 Arduino Uno

Código

Ahora vamos a ver el programa que hay que subir a Arduino.

ADVERTENCIA: recuerda importar la biblioteca que pusimos en el enlace de arriba.

#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4

void setup(){
Serial.begin(9600);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

void loop(){
int chk;
Serial.print("DHT11, \t");
chk = DHT.read(DHT11_PIN);
switch (chk){
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}

Serial.print(DHT.humidity,1);
Serial.print(",\t");
Serial.println(DHT.temperature,1);

delay(1000);
}

 

Repasemos el código ahora.

  • Línea 1: Incluimos la biblioteca previamente descargada. Incluir una biblioteca es básicamente hacer una copia y pegar el código escrito en esa biblioteca en nuestra biblioteca.
  • Línea 3: Llamemos al PIN 4 con otro nombre. Esto es útil durante la programación tanto para evitar errores como para facilitar la escritura del programa.
  • Filas 6-11: En este rango de filas vamos a establecer el canal de comunicación en serie y escribimos alguna información que se mostrará en el monitor de serie.
  • Línea 17: Asignamos a la variable «chk» la salida de la función que devuelve el estado del sensor.
  • Filas 18-31: Si la función mencionada anteriormente nos da algún error, imprima la descripción relativa.
  • Línea 33: Lee el valor de humedad del sensor e imprime el mismo.
  • Línea 35: Lee el valor de la temperatura del sensor y lo imprime.
  • Línea 37: Espera un segundo antes de empezar el ciclo de nuevo.

Última actualización el 2023-05-17 / Enlaces de afiliados / Imágenes de la API para Afiliados

Pin It on Pinterest

Shares