DHT11, DHT22 + Raspberry pi en Python leer temperatura y humedad

Hoy realizaremos un proyecto muy sencillo leyendo temperatura y humedad con un sensor DHT11 desde nuestra raspberry pi, aunque en la red ya hay miles de tutoriales de este tipo no todos son muy claros, parte de este pequeño proyecto ha sido llevado en conjunto con David Saldarriaga Velasquez, sin más que decir empecemos.



DESARROLLO COMPLETO DEL PROYECTO

Mira un vídeo de este ligero proyecto


Veremos todo lo necesario desde código, diagrama de conexión, instalaciones de herramientas extra y demás para que nada quede en el aire y sea fácil de desarrollar.

1. Materiales y componentes

Para este sencillo proyecto será necesario:

- x1 Raspberry pi (Nosotros usaremos la versión 3b+).
- Raspbian montado en micro SD (Tutorial aquí).
- x1 Adaptador de corriente 5v - 2.5A.
- x1 Sensor DHT11 o DHT22.
- x3 Cables jumpers para conexión del sensor a la raspberry.
- Software IDLE python 3.0 para programar en dicho lenguaje. 

¡Listo! ya podemos empezar.

2. Configuración y entorno raspberry 

Instalaremos el IDLE de python 3.0 en nuestro sistema raspbian (si ya lo tienes puedes omitir este paso).

2.1. Abrimos el LXTerminal y ejecutamos el siguiente comando: 
sudo apt-get install idle3

Luego de ejecutar el comando en cierto punto de la instalación nos preguntará algo pondremos que sí solo dejando la "S" y la descarga continuará.

2.2. Una vez hecho lo anterior iremos al menú de raspberry > Programación > Python 3 (IDLE) por ahora lo podemos dejar abierto:



3. Montaje y conexiones

Este será el diagrama de conexión para el sensor DHT11 a la raspberry pi dentro de la imagen se pueden ver los pines correspondientes:

Clic para ampliar

4. Instalación de librería DHT11 y comprobación del sensor

Ahora será necesario instalar la librería de nuestro sensor para que sea compatible con Python que ya se instaló previamente en el paso 2.1. necesitamos ejecutar una serie de comandos, para ello se debe hacer todo el proceso y no habrán errores.

4.1. Abrimos LXTerminal y ejecutamos el siguiente comando:
git clone https://github.com/adafruit/Adafruit_python_DHT.git

Si todo sale bien debería verse algo así: 



4.2. Hecho lo anterior, inmediatamente en las carpetas de nuestra raspberry veremos una llamada "Adafruti_python_DHT":


Vamos de nuevo al LXTerminal y escribiremos lo siguiente para acceder a la carpeta:
cd Adafruit_python_DHT

Luego el siguiente, para ejecutar el archivo necesario en python:
sudo python3 setup.py install

Si todo sale bien debería verse algo así en consola:


4.3. Vamos de nuevo a la carpeta "Adafruit_python_DHT" vista en la imagen del paso anterior, luego abrimos la carpeta examples y abrimos el archivo llamado "AdafruitDHT.py":


Este archivo tendrá todo el código para que nuestro sensor funcione, podemos referenciar que trabajamos en python tres colocando el número "3"en la línea 1:
#!usr/bin/python3


Guardamos el archivo y lo cerramos.

4.4. Ahora vamos a comprobar que el sensor esté funcionando ejecutando los ejemplos de Adafruit, escribimos en el terminal:
cd examples

Luego:
sudo ./AdafruitDHT.py 11 4 

Donde el 11 es el sensor DHT11 y el 4 el pin donde se está conectando en la raspberry, ahora en el terminal debería verse la temperatura y humedad de nuestro sensor con las siguientes variables Temp y Humidity así:


Lo que nos dice que la librería reconoce el sensor y muestra sus datos sin problema.

 5. Creando nuestro propio código en Python

Finalmente vamos a crear un archivo .py propio para trabajar sobre el mismo como código base del proyecto que se quiera desarrollar, vamos al programa Python 3(IDLE) que dejamos abierto en el paso 2.2. y pegaremos el siguiente código: 
import Adafruit_DHT  
import time  

while True:
  sensor = Adafruit_DHT.DHT11 #Cambia por DHT22 y si usas dicho sensor
  pin = 4 #Pin en la raspberry donde conectamos el sensor
  humedad, temperatura = Adafruit_DHT.read_retry(sensor, pin)

  print ('Humedad: ' , humedad)
  print ('Temperatura: ' , temperatura)
 
  time.sleep(1) #Cada segundo se evalúa el sensor

5.1. Guardamos el código con cualquier nombre y la extensión .py, ahora presionamos la tecla "F5" para ejecutarlo y ver el sensor:


Finalmente el sensor debería variar si le ponemos algo de calor, dicha variación se hará cada segundo y eso sería todo en este post.

¿Alguna duda? comenta, 📢
Compartir:

0 comentarios:

Publicar un comentario

SkullTrapers

Posts más vistos

 

CLICK AQUI PARA IR A NUESTRA TIENDA ON LINE ARDUINO, ELECTRÓNICA, COMPONENTES