Hoe Temperatuur Te Lezen Met Een DS18B20 Op Raspberry Pi 2
Welkom! Deze gids laat je zien hoe je een DS18B20 digitale temperatuursensor aan een Raspberry Pi 2 koppelt en de kamertemperatuur nauwkeurig uitleest.
Wat Je Nodig Hebt
- DS18B20 waterdichte sensor (online kopen)
- 4.7 kΩ pull-up weerstand (geel-paars-rood-goud)
- Jumper draden
- Raspberry Pi 2 (elk model met GPIO)
Stap 1 – De Sensor Bedraden
De DS18B20 gebruikt een 1-Wire interface. Verbind als volgt:
- Rode draad (VDD) → 3.3V rail op de Pi
- Zwarte draad (GND) → Ground rail op de Pi
- Gele draad (DQ) → GPIO 4 (fysieke pin 7)
Plaats de 4.7 kΩ weerstand tussen de 3.3V lijn en de DQ lijn om als pull-up te fungeren. Het "3.3V" uiteinde van de weerstand moet de rode (VDD) kant raken.
Stap 2 – De 1-Wire Interface Inschakelen
1. Bewerk het boot-configuratiebestand:
sudo nano /boot/config.txt
2. Voeg toe of uncomment de regel:
dtoverlay=w1-gpio
3. Bewaar en sluit, herstart dan:
sudo reboot
Stap 3 – Kernel Modules Laden
Na het herstarten van de Pi, laad de 1-Wire drivers:
sudo modprobe w1-gpio sudo modprobe w1_therm
Stap 4 – Verifiëren Dat De Sensor Gedetecteerd Wordt
Controleer de device-tree voor de sensor-ID:
ls -l /sys/bus/w1/devices/
Je zou een map moeten zien beginnend met 28-, bijv. 28-000006dfa76c.
Stap 5 – De Temperatuur Uitlezen
Elke sensor blootstelt zijn data via w1_slave. Bekijk het met:
cat /sys/bus/w1/devices/28-000006dfa76c/w1_slave
De output bevat twee regels; de tweede regel eindigt met t=XXXXX, waar XXXXX de temperatuur is in duizendsten van een graad Celsius. Bijvoorbeeld, t=23450 gelijk 23.450 °C.
Optioneel – De Waarde Parsen Met Een Script
Hier is een snelle Python-snippet om de ruwe meting om te zetten in °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"Temperatuur: {temp_c:.3f} °C")
else:
print("Leesfout")
time.sleep(2)
Sla dit op als temp_read.py, maak het uitvoerbaar, en draai het voor live temperatuuropdates.
Door deze stappen te volgen, heb je een betrouwbare temperatuurmonitor draaiend op je Raspberry Pi 2.
Voor diepere inzichten, zie de Adafruit DS18B20 gids.
Productieproces
- Geïntegreerde QR, RFID en Temperatuurverificatie Toegangscontrolesysteem
- Bouw Een Raspberry Pi Temperatuur Logger Met Een $5 I2C Sensor
- Nauwkeurige Raspberry Pi Temperatuurprofielering Met Python, SQLite En LabVIEW
- Meerdere DS18B20 1-Wire Sensoren Aan Een Raspberry Pi Koppelen Voor Nauwkeurige Temperatuurmonitoring
- Raspberry Pi Temperatuur & Vochtigheid Netwerk Monitor – DIY Setup Gids
- Professionele temperatuurbewaking met Raspberry Pi en DS18B20
- Temperatuurmeting op Raspberry Pi met Maxim 1-Wire sensoren en DS2482 I2C-brug
- Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
- Naadloze temperatuur- en vochtigheidsbewaking op Raspberry Pi met EzTemp
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Raspberry Pi BMP085: Accurate temperatuur- en drukmetingen via I2C