Sensores Arduino y Raspberry Pi
1Descripción:
El Sensor digital de temperatura DS18B20 proporciona mediciones de temperatura en grados Celsius de 9 bits a 12 bits y tiene una función de alarma con puntos de activación altos y bajos no volátiles programables por el usuario.
Esto significa que el sensor tiene un límite superior e inferior programable. El DS18B20 se comunica a través del protocolo 1-Wire, que requiere solo una línea de datos para la comunicación con un microcontrolador. Además, puede extraer energía directamente de la línea de datos ( "energía parásita"). Esto elimina la necesidad de una fuente de alimentación externa. Cada DS18B20 tiene un código de serie único de 64 bits. Esto permite que múltiples sensores operen en el mismo bus de 1-Wire y sean evaluados por un solo microcontrolador.
Las aplicaciones que pueden beneficiarse de esta característica incluyen controles ambientales HVAC, sistemas de monitoreo de temperatura en edificios, plantas o maquinaria y sistemas de control y monitoreo de procesos.
Especificaciones:
Unique 1-Wire interface requires only one port pin for communication
Multidrop capability simplifies distributed temperature sensing applications
Requires no external components
Can be powered from data line. Power supply range is 3.0V to 5.5V
Zero standby power required
Measures temperatures from -55°C to +125°C. Fahrenheit equivalent is -67°F to +257°F
±0.5°C accuracy from -10°C to +85°C
Thermometer resolution is programmable from 9 to 12 bits.
Converts 12-bit temperature to digital word in 750 ms (max.)
User-definable, nonvolatile temperature alarm settings
Alarm search command identifies and addresses devices whose temperature is outside of programmed limits (temperature alarm condition)
Applications include thermostatic controls, industrial systems, consumer products, thermometers, or any thermally sensitive system.
Esquemático:
Pinout:
Conexión Arduino:
Abrimos Arduino IDE --> Sketch --> Include Library --> Manage Libraries en el cuadro de busqueda escribimos OneWire y pulsamos Enter, elegimos la última versión y pulsamos Install
Conexión Raspberry Pi:
Para activar la comunicación entre la Raspberry Pi y el sensor DS18B20 debemos agregar información al final del archivo config.txt.
Abrimos la Terminal e ingresamos:
sudo nano /boot/config.txt
Al final del archivo agregamos la siguiente línea:
dtoverlay=w1-gpio,gpio=4
Presionamos Ctrl + x, luego y, finalmente Enter. Para guardar los cambios.
Reiniciamos con:
sudo reboot
Código Raspberry Pi:
Creamos el siguiente programa desde la Terminal o con tu IDE favorito:
nano KY_001.py
Presionamos Ctrl + x para salir, luego y para confirmar los cambios, finalmente Enter. Para guardarlos.
Para correr el programa abrimos la Terminal e ingresamos:
sudo python KY_001.py
Conexión Raspberry Pi Pico:
Librerías OneWire, DS18x20 Raspberry Pi Pico:
https://github.com/micropython/micropython-lib/tree/master/micropython/drivers/bus/onewire
https://github.com/micropython/micropython-lib/tree/master/micropython/drivers/sensor/ds18x20
Creamos en la Raspberry Pi Pico/W un archivo con nombre onewire.py y otro con el nombre ds18x20.py
Librería onewire.py:
Librería ds18x20.py:
Código MicroPython Raspberry Pi Pico:
Conexión Raspberry Pi Pico W:
Código MicroPython Raspberry Pi Pico W:
Requiere librería onewire.py y ds18x20.py