Cómo leer temperatura con un DS18B20 en Raspberry Pi 2
¡Bienvenido! Esta guía le muestra cómo conectar un sensor digital de temperatura DS18B20 a una Raspberry Pi 2 y leer la temperatura ambiente con precisión.
Qué necesitará
- Sensor DS18B20 impermeable (comprar en línea)
- Resistencia pull‑up de 4.7 kΩ (amarillo-violeta-rojo-dorado)
- Cables jumper
- Raspberry Pi 2 (cualquier modelo con GPIO)
Paso 1 – Cableado del sensor
El DS18B20 usa una interfaz 1‑Wire. Conéctelo como sigue:
- Cable rojo (VDD) → Rail 3.3 V en la Pi
- Cable negro (GND) → Rail de tierra en la Pi
- Cable amarillo (DQ) → GPIO 4 (pin físico 7)
Coloque la resistencia de 4.7 kΩ entre la línea de 3.3 V y la línea DQ para actuar como pull‑up. El extremo «3.3 V» de la resistencia debe tocar el lado rojo (VDD).
Paso 2 – Habilitar la interfaz 1‑Wire
1. Edite el archivo de configuración de arranque:
sudo nano /boot/config.txt
2. Añada o descomente la línea:
dtoverlay=w1-gpio
3. Guarde y salga, luego reinicie:
sudo reboot
Paso 3 – Cargar módulos del kernel
Después de reiniciar la Pi, cargue los controladores 1‑Wire:
sudo modprobe w1-gpio sudo modprobe w1_therm
Paso 4 – Verificar que el sensor es detectado
Compruebe el árbol de dispositivos para el ID del sensor:
ls -l /sys/bus/w1/devices/
Debería ver una carpeta que comienza con 28-, ej. 28-000006dfa76c.
Paso 5 – Leer la temperatura
Cada sensor expone sus datos a través de w1_slave. Véalo con:
cat /sys/bus/w1/devices/28-000006dfa76c/w1_slave
La salida contiene dos líneas; la segunda termina con t=XXXXX, donde XXXXX es la temperatura en milésimas de grado Celsius. Por ejemplo, t=23450 equivale a 23.450 °C.
Opcional – Analizar el valor con un script
Aquí hay un fragmento rápido de Python para convertir la lectura cruda a °C:
#!/usr/bin/env python3
import time, glob
sensor = glob.glob('/sys/bus/w1/devices/28-*/w1_slave')[0]
while True:
with open(sensor, 'r') as f:
lines = f.readlines()
if lines[0].strip().endswith('YES'):
temp_raw = lines[1].split('t=')[1]
temp_c = float(temp_raw) / 1000.0
print(f"Temperatura: {temp_c:.3f} °C")
else:
print("Error de lectura")
time.sleep(2)
Guárdelo como temp_read.py, hágalo ejecutable y ejecútelo para obtener actualizaciones de temperatura en vivo.
Siguiendo estos pasos, tendrá un monitor de temperatura fiable funcionando en su Raspberry Pi 2.
Para más detalles, consulte la guía DS18B20 de Adafruit.
Proceso de manufactura
- Sistema de control de acceso integrado con QR, RFID y verificación de temperatura
- Construya un registrador de temperatura con Raspberry Pi y sensor I2C de 5 $
- Perfilado preciso de temperatura en Raspberry Pi con Python, SQLite y LabVIEW
- Conectar múltiples sensores DS18B20 1‑Wire a Raspberry Pi para monitorización precisa de temperatura
- Monitor de temperatura y humedad en red con Raspberry Pi – Guía DIY completa
- Monitorización profesional de temperatura con Raspberry Pi y DS18B20
- Medición de temperatura en Raspberry Pi con sensores 1-Wire Maxim y puente I2C DS2482
- Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
- Monitorización fluida de temperatura y humedad en Raspberry Pi con EzTemp
- Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
- Raspberry Pi BMP085: Lecturas precisas de temperatura y presión vía I2C