Como utilizar el sensor de humedad DHT11 con un Arduino.

El sensor de humedad y temperatura DHT11  hace muy simple el añadir datos de humedad y temperatura a tus proyectos. Es ideal para estaciones remotas de monitoreo ambiental, sistemas de domótica, sistemas de riego en invernaderos entre otros.

Estas son las especificaciones de rango y precisión del sensor DHT11:

  • Voltaje de alimentación: 3.3 a 5 voltios.
  • Rango de Temperatura de 0° a 50°C con el 5% de Precisión (No mide fracciones, solo números enteros).
  • Rango de Humedad Relativa (RH) de 20% a 80% con 5% de Precisión.
    Actualiza las lecturas una vez por segundo.
  • Temperatura en grados Celsius °C.


Ficha técnica

¿Qué es la Humedad Relativa?

El sensor DHT11 mide la humedad relativa; esta representa la cantidad de vapor de agua presente en el aire comparado contra el punto de saturación del vapor de agua en el aire.  En el punto de saturación el vapor de agua se empieza a condensar y acumular en las superficies formando rocío.

El punto de saturación cambia en función de la temperatura del aire. El aire frío carga menos vapor de agua sin saturarse contrario al aire caliente que puede contener mayor cantidad de vapor de agua antes de llegar a la saturación.

 

La fórmula matemática para calcular la humedad relativa es la siguiente:

 

La humedad relativa es expresada como un porcentaje; Al 100% de RH sucede la condensación y a 0% de RH el aire está completamente seco.

Como el sensor mide la temperatura y la humedad

El DHT11 detecta el vapor de agua midiendo la resistencia eléctrica entre dos electrodos. El componente sensor de humedad es un sustrato con capacidad de retener la humedad con dos electrodos conectados a su superficie.  Cuando el vapor de agua es absorbido por el sustrato, iones en su compuesto son liberados causando un incremento en la conductividad entre los electrodos.  El cambio en resistencia eléctrica entre ambos electrodos es proporcional a la humedad relativa.  Una humedad relativa alta disminuye la resistencia eléctrica mientras que una humedad relativa baja aumenta la resistencia entre los electrodos.

El DHT11 mide la temperatura con un sensor termistor NTC  (Negative Temperature Coefficient) montado en el mismo ensamblado.

Con la cubierta plástica removida, se pueden apreciar los electrodos aplicados sobre el sustrato.

Un circuito integrado montado el parte trasera del sensor convierte la resistencia medida a humedad relativa, almacena los coeficientes de calibración y controla la transmisión de datos entre el sensor y el microcontrolador.

El sensor DHT11 usa solo un conductor para transmitir la señal al Arduino.  La alimentación se le es suministrada a través de dos líneas separadas de +5 voltios y tierra.  Una resistencia de 10K Ohm es utilizada para elevar la señal con respecto al positivo para mantener por defecto en alto la señal. (ver la ficha técnica para más información)

Existen dos versiones de ensamblado del DHT11; Uno de ellos tiene cuatro pines y el otro tiene solamente tres dado que está montado en una placa de circuitos el cual incluye la resistencia Pull-up de 10 K Ohm. La versión de 4 pines que es en sí el sensor solo que el cuarto pin no se utiliza y se le debe agregar por fuera la resistencia pull-up para que transmita correctamente los datos.

Como conectar el DHT11 al Arduino

Conectar el DHT11 al Arduino es realmente fácil, pero las conexiones dos distintas dependiendo el tipo de sensor que se vaya a utilizar.

Conexión a un DHT11 de tres pines:

Conexión a un DHT11 de cuatro pines:

Mostrar los datos de humedad y temperatura en el monitor serial

Antes de que se pueda usar el DHT en el Arduino, se necesita instalar la librería DHTLib; Contiene todas las funciones necesarias para obtener las lecturas de humedad y temperatura desde el sensor. Es facil de instalar, solo bajarla e instalarla en la IDE de Arduino. Luego ir a Sketch>Include Library>Add .ZIP Library y seleccionar el archivo DHTLib.zip


Librería DHTLib

Una vez instalado, copiar y compilar este programa ejemplo y abrir el monitor serial:

En el monitor serial se deberá poder ver las lecturas de humedad y temperatura actualizada una vez por segundo.

Si no quieres utilizar el pin #7 del Arduino de p[puede cambiar al pin 5 modificando la línea que dice #define DHT11_PIN 7

Mostrar la humedad y temperatura en una pantalla LCD

Una mejor manera de mostrar la información de las lecturas del sensor es utilizando una pantalla de caracteres LCD 16×2.

Forma de conectar el sensor DHT11 y una pantalla LCD 16×2:

Codigo necesario para ver datos del DHT11 en la pantalla LCD:

Usar los datos del sensor en otros programas

Puede ser que lo que se necesite no sea mostrar los valores actuales de temperatura y humedad sino calcular otra información o controlar algún otro dispositivo a partir de ciertas condiciones de humedad y temperatura. El código mostrado abajo es el mínimo necesario para inicializar el sensor. Puedes agregar eso a otros programas y acceder a sus valores de medición a través de las variables DHT.humidity y DHT.temperature en cualquier función.

Código básico para incluirlo en otro proyecto:

 Conclusión

Esto es solo un ejemplo de las posibilidades que se pueden realizar con este pequeño sensor; su implementación es relativamente simple y dado su tamaño se puede adaptar a un gran numero de aplicaciones de medición y control.

 

Cómpralo en nuestra tienda:
Sensor de Humedad DHT-11

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *