Tutorial sensor DS18B20 en Raspberry PI 3
Tutorial sensor DS18B20
Tutorial sensor DS18B20:
Este sensor nos permite obtener lectura de temperatura muy fácil y precisa, ya que no ocupa muchos periféricos de la Raspberry. Acá aprenderemos a configurar el sensor y a mostrar sus lecturas en una LCD 2×16.
Componentes.
- Raspberry PI 4 Modelo B 2 gigas
- Modulo Shield LCD 16X2 Teclado
- Mini Protoboard Adhesiva De 400 Puntos – 8.5cm X 5.5cm
- Cables Dupond Jumper 40 unidades x 20 cm Macho – Macho
- Potenciómetro Sencillo 1K, 2K, 5K, 10K, 100K, 1M
- Resistencia de 10k ohm.
Sensor DS18B20.
El DS18B20 se comunica con el protocolo de comunicación «One-Wire», un protocolo de comunicación serial patentado que usa solo un cable para transmitir las lecturas de temperatura al microcontrolador.
El DS18B20 puede funcionar en lo que se conoce como modo de potencia de parásito . Normalmente, el DS18B20 necesita tres cables para funcionar: los cables de Vcc, tierra y datos. En modo parásito, solo se utilizan las líneas de tierra y de datos, y la energía se suministra a través de la línea de datos.
El DS18B20 también tiene una función de alarma que se puede configurar para emitir una señal cuando la temperatura cruza un umbral alto o bajo establecido por el usuario.
Una ROM de 64 bits almacena el código de serie único del dispositivo. Esta dirección de 64 bits permite que un microcontrolador reciba datos de temperatura de un número prácticamente ilimitado de sensores en el mismo pin. La dirección le dice al microcontrolador de qué sensor proviene un valor de temperatura particular.
Especificaciones técnicas.
- Rango de -55 ° C a 125 ° C
- Voltaje de operación de 3.0V a 5.0V
- Muestreo de 750 ms
- 0,5 ° C (9 bits); 0,25 ° C (10 bits); 0,125 ° C (11 bits); Resolución de 0.0625 ° C (12 bits)
- Dirección única de 64 bits
- Protocolo de comunicación de un cable
Para obtener las detalles del sensor, visitar: http://www.circuitbasics.com/wp-content/uploads/2016/03/DS18B20-Datasheet.pdf
El sensor cuenta con 3 pines para su conexión, el primero de referencia o GND, el segundo es el que nos manda la señal al micro controlador y el tercero es la alimentación Vcc.
Esquema de montaje con la Rapsberry.
Para empezar con la conexión, haremos primero el montaje del sensor, siguiendo el siguiente diagrama.
Una vez tengamos conectado el sensor a la rapsberry, procederemos a conectar los pines de la LCD utilizando el siguiente diagrama.
Habilitar interfaz de cable.
Tendremos que habilitar la interfaz One-Wire antes de que el Pi pueda recibir datos del sensor. Una vez que haya conectado el DS18B20, encienda su Pi e inicie sesión, luego siga estos pasos para habilitar la interfaz One-Wire:
1. En el símbolo del sistema, ingrese: sudo nano /boot/config.txt , luego agregue esto al final del archivo:
dtoverlay = w1 – gpio
2. Salga de Nano y reinicie el Pi ( reinicio de sudo ).
3. Inicie sesión en Pi nuevamente y en el símbolo del sistema ingrese:
sudo modprobe w1 – gpio
4. Luego ingrese:
sudo modprobe w1 -therm
5. Cambie los directorios al directorio:
/ sys / bus / w1 / devices ingresando: cd / sys / bus / w1 / devices
6. Ahora ingrese ls para enumerar los dispositivos:
28-000006637696 w1_bus_master1 se muestra en nuestro caso.
7. Ahora ingrese:
cd 28 -XXXXXXXXXXXX ( cambie las X a su propia dirección)
Por ejemplo, en mi caso ingresaría: cd 28-000006637696
8. Ingrese cat w1_slave que mostrará la salida de lectura de temperatura sin procesar del sensor:
Aquí la lectura de temperatura es t = 28625 , lo que significa una temperatura de 28.625 grados Celsius.
9. Ingrese cd para regresar al directorio raíz.
Eso es todo lo que se requiere para configurar la interfaz de un cable. Ahora puede ejecutar uno de los siguientes programas para enviar la temperatura a un terminal SSH o a una pantalla LCD.
Programación del sensor DS18B20.
Este es un programa básico de Python que generará las lecturas de temperatura en Fahrenheit y Celsius en su terminal SSH:
El código se puede descargar desde nuestro repositorio: https://github.com/Moviltronics/Moviltronics-S.A.S/blob/master/Salida%20de%20temperatura%20a%20terminal%20SSH
Lo que al ejecutar nos mostrará la siguiente ventana.
Salida del sensor en una LCD 16×2
Utilizaremos una biblioteca de Python llamada RPLCD para controlar la pantalla LCD. La biblioteca RPLCD se puede instalar desde el índice del paquete Python o PIP. PIP ya puede estar instalado en su Pi, pero si no, ingrese esto en el símbolo del sistema para instalarlo:
sudo apt-get install python-pip
Después de instalar PIP, instale la biblioteca RPLCD ingresando:
sudo pip install RPLCD
Una vez que tenga la biblioteca instalada, puede ejecutar este programa para generar la temperatura en una pantalla LCD:
El código se puede descargar desde nuestro repositorio: https://github.com/Moviltronics/Moviltronics-S.A.S/blob/master/SALIDA%20DE%20TEMPERATURA%20A%20UN%20LCD
Una vez compilemos el programa en la rapsberry nos aparecerá las mediciones del sensor en la pantalla; si la pantalla se ve toda de un solo color, y no muestra ninguna letra, regular alguno de los potenciometros para aumentarle o disminuirle el contraste para que se pueda evidenciar las letras.
Espero les haya servido este tutorial. muchas gracias.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.