Sensor de Temperatura y Humedad DHT11 con Rasperry Pi
Los DHT11 y DHT22 se componen de un sensor capacitivo para medir la húmedad y de un termistor para medir temperatura.
La principal diferencia entre ambos es que el ciclo de operación es menor en el DHT11 que en el DHT22, sin embargo, el DHT22 tiene rangos de medida más amplios y mayor resolución, a cambio de resultar algo más costoso.
DHT11 | DHT22 | |
---|---|---|
Rango de medición de Humedad | 20 - 90% HR | 0 -100% HR |
Precisión de Humedad | ±5% | HR ±2% HR |
Rango de medición de Temperatura | 0 - 50°C | -40 - 80°C |
Precisión de Temperatura | ±2°C | ±5°C |
Encapsulados
Existen distintos encapsulados para este sensor, que difieren en la cantdad de pines.
Conexión
Para el encalsulado de 4 pines, colocar una resistencia entre 4,7 – 10 K para pull-up, conectada entre los pines 1 y 2 del sensor.
Pines del Sensor
- 3.3 V
- Dato (Pin GPIO)
- no se conecta
- GND
Instalación
Para poder copiar paquetes desde GitHub primero debemos instala la librería git.
Siempre es recomendable hacer un apt-get update antes de comenzar cualquier instalación de software.
sudo apt-get update
Luego instalar git.
sudo apt-get install git-core
Creamos carpeta para almacenar las librerías que instalaremos para este u otros proyectos.
mkdir bibliotecas cd bibliotecas
Luego clonamos el repositorio git de la biblioteca de Adafruit que nos permitirá obtener las lecturas del sensor DHT11.
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
Para instalar esta librería en nuestro sistema debemos realizar los siguientes pasos.
Instalar software que nos permite adicionar librerías Python a nuestra Raspberry Pi ingresando en consola
sudo apt-get install build-essential python-dev
Entrar a la carpeta que se creo al clonar con git el repositorio
cd Adafruit_Python_DHT
Instalar la biclioteca DHT de Adafruit
sudo python setup.py install
Si está instalado el interprete 2.7.X, para instalarlo en python 3.5.X+
sudo python3 setup.py install
A continuación veamos un ejemplo de código
# Importación las módulos necesarios
import
Adafruit_DHTimport
time# Configuración del tipo de sensor DHT
sensor = Adafruit_DHT.DHT11#(o DHT22)
# Configuración del puerto GPIO al cual esta conectado
pin = 23# Intenta ejecutar la lectura del sensor, si falla ejecuta la instruccion except
try
:# Ciclo infinito de lectura
while
True:# Obtiene la humedad y la temperatura desde el sensor
humedad, temperatura = Adafruit_DHT.read_retry(sensor, pin)# Imprime en la consola las variables temperatura y humedad con un decimal
#Intervalo de lectura cada 10 segundos
time.sleep(10)# Se ejecuta en caso de que falle alguna instruccion dentro del try
except
Exceptionas
e:# Muestra en pantalla el error
str
(e))
Este y otros contenidos los podés aprender en el Curso de Raspberry Pi