DESARROLLO COMPLETO DEL 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, 📢
gracias nene me sirvio mucho tu aporte saludos de gt
ResponderEliminarHOla que bien que te sirva
Eliminar:)
Hola amigo. Tengo un problema. Sigo todos los pasos pero me muestra el siguiente error cuando lo ejecuto como en el paso 4.4.
ResponderEliminarFailed to get reading. Try again!
Es muy probable que no tengas el sensor bien configurado como se explicó con anterioridad
EliminarHola, yo tengo el mismo problema y ya revise todo y todo parece estar bien configurado
EliminarPuedes probar con otro sensor un DHT22
EliminarMe comentas,
Buenas tardes, soy novato en el tema y estoy ensayando con el codigo y he visto muchos ejemplos pero siempre me sale este error y no he podido sabe porque, le será posible colaborarme?
ResponderEliminarfile "/home/pi/Downloads/temperatura.py" este es el error que me sale
Hola es porque no estás enrutando bien el archivo debes identificar bien el archivo a buscar en la ruta.
EliminarSaludos,
Buenas tardes, todos los pasos me salieron bien pero cuando voy a ejecutar me sale un error en la funcion de print
ResponderEliminarHola Cual versión de Python estás usando?
EliminarBuen día el mismo codigo en python pero orientado a objetos
ResponderEliminarHola actualmente no lo tenemos...
EliminarSaludos,
Las conexiones al DHT11 están equivocadas. Tal cual está la imagen, los pines tensión y datos están intercambiados entre sí. El de datos es el primero de la izquierda y la tensión el central.
ResponderEliminarmuy buenas
ResponderEliminarhice todo correcto pero
me sale el siguiente error:
Traceback (most recent call last):
File "/home/luis3/Adafruit_python_DHT/examples/./AdafruitDHT.py", line 24, in
import Adafruit_DHT
ModuleNotFoundError: No module named 'Adafruit_DHT'
Hola creo que ya comentaste la solución.
Eliminarfinalmente pude hacerlo, pero como las versiones de python estan cambiando o actualizando a nuevas versiones, en teste caso en el editor puse en ve de python 3 , cambie por python "3.9".
ResponderEliminargracias Andres Felipe.
Hola, gracias por poner como lo solucionaste. Esperamos que le sirva a otros usuarios de internet.
EliminarSaludos,