Temperatuur sensor DS18B20

De DallaS 18B20 temperatuursensor leent zich perfect voor weerstations en domotica systemen. Weinig sensoren zijn zo eenvoudig te verbinden op de Raspberry Pi. Ze hebben dezelfde afmetingen als een transistor en gebruiken slechts één draad voor het datasignaal. Ze zijn extreem nauwkeurig en meten snel. Het enige andere onderdeel dat je nodig hebt, is een weerstand van 4.7K Ohm.

De DS18B20 communiceert met het “One-Wire” -communicatieprotocol, een gepatenteerd serieel communicatieprotocol dat slechts één draad gebruikt om de temperatuurmetingen naar de Raspberry Pi te verzenden.

De DS18B20 heeft ook een alarmfunctie die kan worden geconfigureerd om een ​​signaal af te geven wanneer de temperatuur een hoge of lage drempel overschrijdt die door de gebruiker is ingesteld.

Een 64-bits ROM slaat de unieke seriële code van het apparaat op. Met dit 64-bits adres kan de Raspberry Pi temperatuurgegevens ontvangen van een vrijwel onbeperkt aantal sensoren op dezelfde pin. Het adres vertelt de Raspberry Pi van welke sensor in de keten een bepaalde temperatuurwaarde afkomstig is.

Specificaties
– Één pin voor communicatie
– Temperatuur metingen reikwijdte: -55 tot +125 ℃
– Temperatuur meting nauwkeurigheid: +/- 0.5 ℃ (tussen -10 tot + 85℃)
– Voeding: 3.0 – 5.5V DC

Pin aansluiting

Pinaansluiting van de DS18B20
Waterdichte versie van de DS18B20

Verbinden met de Raspberry Pi
Sluit de DS8B20 sensor aan zoals op onderstaand schema.

Aansluittabel van de DS18B20 en de Raspberry Pi

Meerdere sensoren verbinden

1-Draadsondersteuning
Voor de zgn. 1-draadsondersteuning (One-wire of w1) moeten we de Raspberry Pi configureren.

Open met nano het bestand sudo nano /boot/config.txt en dan scroll naar onderen. Type hier:

dtoverlay=w1-gpio

Reboot nu de Pi met sudo reboot
Als de Pi opgestart is geef je onderstaande commando’s in:

sudo modprobe w1-gpio
sudo modprobe w1-therm

Ga nu naar de w1 devices map:

cd /sys/bus/w1/devices

Kijk naar de inhoud met ls zoek de 28-xxxx map

Ga de map in met:

cd 28-xxxx (pas xxxx aan met het unieke serienummer dat in jouw directory staat)

Geeft het commando:

cat w1_slave

De 18b20 geeft nu een datastring af zodat je kunt zien dat het werkt! In dit voorbeeld is de temperatuur 22,812’C.

Meerdere sensoren
Indien je meer dan één sensor aangesloten hebt, zie je meerdere 28-xxxx mappen. Zoek dan uit welke sensor wat is en test het op dezelfde manier zoals hierboven.

Python

Start het programma met python 18b20_1.py

De temperatuur in Celcius en Fahrenheit wordt om de seconde weergegeven:

Je stopt het programma met Ctrl-C.

Veel succes!

Have A Nice Day!