Sensor DHT11 de temperatura y humedad

By Tutoriales Raspberry Pi, , , With 26 comments

 

Descripción

En este nuevo tutorial vamos a aprender a leer los valores de temperatura ambiente y humedad relativa que nos proporciona el sensor DHT11. Este sensor tiene un precio muy económico y resulta ideal para pequeños proyectos con Raspberry Pi o Arduino.

dht11

Se caracteriza por tener la señal digital bien calibrada, es decir, nos asegura una gran fiabilidad en las lecturas. La calibración se realiza en laboratorio adquiriendo así una extrema precisión. Estamos hablando de un sensor con un microcontrolador de 8 bits y 2 sensores resistivos encapsulados en una pequeña caja de plástico azul y construidos con materiales de excelente calidad para una respuesta rápida y precisa.

Existen varios modelos del sensor DHT11 en el mercado, algunos vienen soldados a una placa y otros vienen sueltos para usarse directamente conectados a una breadboard (placa de pruebas). Lo bueno de los modelos que ya vienen soldados a una placa es que nos ahorra tener que montar la resistencia que actúa como pull-up.

El protocolo de comunicación se realiza a través de un único hilo (Single-Bus) para que la integración en vuestros proyectos sea fácil y rápida pudiéndolo conectar directamente a los pines GPIO de vuestra Raspberry Pi.

DSC_0050DSC_0346

La tensión de alimentación del sensor es de 3~5V, podéis conectarlo a los pines +5V o +3’3V y GND de vuestra Raspberry Pi o alimentarlo desde una batería externa. Su rango de funcionamiento es de 0 a 50ºC para la temperatura y de 20% a 90% de humedad relativa. El pin de comunicaciones para realizar lecturas lo podéis conectar a cualquier pin GPIO y tiene la capacidad de transmitir la señal hasta 20 metros de distancia. La tasa de refresco en las lecturas es de 2 segundos.

Esquema y cableado

El sensor DHT11 que se vende suelto no tiene especificados los pines así que fijaros en la siguiente imagen, el sensor esta boca arriba por la parte que tiene agujeros y las patillas están hacia abajo. El pin que esta situado más a la izquierda es el pin VCC (3’3V o 5V). El segundo pin es el que usaremos para las lecturas, en el esquema esta conectado al pin GPIO nº4 de la Raspberry Pi. El tercer pin no se usará en este proyecto. El cuarto pin es GND, lo teneis que conectar en cualquier pin GND de la Raspberry Pi o de la batería.

Por último hay que conectar una resistencia de 4’7 KOhm a 10 KOhm del pin VCC al segundo pin (el que usamos para realizar lecturas), esto actuará como “Pull-up”.

 

sensor dht11

 

Con esto ya tendríamos el cableado listo, veamos ahora un ejemplo de script en Python para realizar lecturas con este sensor.

Script de ejemplo

Este script a veces falla y nos da ERR_CRC, esto se debe a que no estamos usando un sistema operativo en tiempo real asi que las lecturas a veces suceden fuera de intervalo. Podemos solucionar esto modificando ligeramente el codigo del script o usando directamente alguna de las librerias que existen en GITHUB para este sensor.

Un usuario del blog nos ha proporcionado un segundo código que podemos usar si el primero falla, muchas gracias Sergio Correa! 😀

Te ha gustado este artículo?, entonces déjame un +1 o un like!