Arduino: Medir temperatura y humedad con DHT11

Ver imagenPor fin me ha llegado el sensor de temperatura y humedad DHT11. Este tipo de sensores lee la humedad y temperatura ambiente la transmite a Arduino y de ahí a una pantalla LCD o al monitor serial del IDE de Arduino.

El DHT11 es el sensor es el "barato". No tiene mucha precisión un 2% en temperatura midiendo de 1ºC en 1ºC y un 5% en humedad, pero servirá para cualquier proyecto, que como ya he dicho, no necesite una gran precisión.
Si necesitas más precisión tienes el DHT22 con algo más de precisión que el primero.

Características técnicas del módulo:
Humedad:

Resolución de 16 Bits.

Rango de medida: De 20% a 80%

Precisión a 25ºC: +/-5%HR.

Sensor DHT11

Histéresis: <+/-0,3%HR.

Temperatura:


Resolución de 16 Bits.

Rango de medida: De 0ºC a 50ºC

Precisión a 25ºC: +/-2%ºC.

Tiempo de respuesta: 10 Segundos.

Características eléctricas:





Alimentación: 3,6 ~ 5.5V DC.

Consumo eléctrico: 0,3mA.

Período de muestreo: Más de 2 segundos.

Descripción de los pines:





VDD Alimentación 5,5V.

DATA Datos seriales, un solo BUS

NC No conectado

GND Masa o parte negativa.



Su conexión es muy sencilla y como adicional solo nos hará falta una resistencia de entre 4K7 hasta 10K conectada entre VCC y DATA.





Aunque la mayoría de los módulos DHT11 ya vienen montado es un pequeña plaquita con las resistencias ya instaladas:


Para simplificar la comunicación entre Arduino y el DTH11 utilizaremos la librería . Podéis encontrar la librería en el siguiente enlace: Librería DHT o en este otro: Libreria DHT GitHub.
Con ella podremos leer los siguientes parámetros:


Humedad ambiente en %.

float h = dht.readHumidity(); //Para leer la humedad.



Temperatura ambiente en grados Centígrados y Fahrenheit.

float t = dht.readTemperature(); //Para leer grados en Centígrados.

float f = dht.readTemperature(true); //Para leer grados en Fahrenheit.



Indice de calor. Indica el calor teniendo en cuenta la temperatura y la humedad.

float hif = dht.computeHeatIndex(f, h); //Calcula el indice de calor teniendo en cuenta f y h.

float hic = dht.computeHeatIndex(t, h, false); //Calcula el indice de calor en Centigrados teniendo en cuenta t y h.

Y con estos comandos tenemos todas las lecturas del sensor para mostrar en el terminal serial:


Datos del DHT11 en el monitor serial

Descargar: Ejemplo básico DHT11 Infotronikblog



Espero que este ejemplo les sea útil Saludos!!!