Arduino – Temperatuur sensor DS18B20

Hardware

DS18B20Temperatuur sensor DS18B20 waterdicht

BESTEL NU!
BESTEL NU! (WATERDICHT)

De DS18B20 (of QT18B20) is een nauwkeurige digitale temperatuur sensor, het is een Dallas one-wire device en werkt op 3.3v, je kan meerdere sensoren aansluiten via dezelfde pinnen en deze uitlezen.

Afwijking: ±0,5°C bij −50°C en +85°C

Specificaties:

– 1-Wire interface vereist slechts 1 pin voor communicatie
– 9/10/11/12 bits resolutie (in te stellen)
– 64-bit serial code opgeslagen in een geïntegreerde ROM
– Kan worden gevoed vanuit datalijn.
– Voeding bereik is 3,0 V tot 5,5 V
– Meet temperaturen van -55 ° C tot +125 ° C
– ± 0,5 ° C nauwkeurigheid van -10 ° C tot +85 ° C

Pinout

DS18B20 pinout TO-92
Pin:Functie
1GND
2Digitale uitgang
3Vdd (+3.3v)

Wat heb je nodig?

1) Weerstand van 4,7 kΩ
2) Arduino OneWire bibliotheek

Aansluiten op de Arduino

Sluit de DS18B20 aan volgens onderstaand schema (raadpleeg altijd de datasheet voor de juiste pinout):

DS18S20 arduino schema

DS18B20 pin:Arduino pin:
1 (GND)GND
2 (Digitale uitgang)D2
3 (Vdd (+3.3v))+3.3v

Meerdere sensoren aansluiten

Normale Voeding

Als je de normale voeding gebruikt, dan is de onderstaande schakeling wat je nodig hebt om meerdere sensoren aan te sluiten.

ds18b20-normale-voeding

Parasiet Voeding

In deze methode sluiten we in principe pin 1 en 3 van de sensor kort en trekt de sensor stroom via de data pin.

ds18b20-parasiet-voeding

(bron v/d plaatjes)


Meetresolutie instellen

Het is mogelijk om de meetresolutie van de sensor te cconfigureren dat kan met het inladen van de dallas bibliotheek:

Voor 12-Bit: sensors.setResolution(temp1, 12);

Maar des te preciezer, hoe langer het duurt voordat data opgevraagd wordt:

Mode Resol Conversion time
9 bits 0.5°C 93.75 ms
10 bits 0.25°C 187.5 ms
11 bits 0.125°C 375 ms
12 bits 0.0625°C 750 ms

Zie voorbeeld code onder.

(bron)


Script met alleen OneWire bibliotheek

Onderstaand script leest de DS18B20 sensor uit met alleen de OneWire bibliotheek, en geeft het aantal graden weer via de seriële console (bron)

Console output:

Arduino DS18B20 OneWire console output


Script met Dallas Temperature Control bibilotheek

Wat heb je nodig?

1) Weerstand van 4,7 kΩ
2) Arduino OneWire bibliotheek
3) Arduino Dallas TLC bibliotheek

Onderstaand script leest de DS18B20 sensor uit met de Dallas TLC en OneWire bibliotheek, en geeft het aantal graden (gedetaileerder) weer via de seriële console (bron)

De console output:

Arduino DS18B20 Dallas TLC+OneWire console output

Met het “DS18x20_Temperature” voorbeeld uit de bibliotheek kun je ook de serienummers laten weergeven in de console:

Arduino DS18B20 Dallas TLC voorbeeld console output


Script om adressen van aangesloten sensoren weer te geven met OneWire bibliotheek

Wat heb je nodig?

1) Weerstand van 4,7 kΩ
2) Arduino OneWire bibliotheek

Onderstaand script leest de adressen van de aangesloten DS18B20 sensoren uit:

Bron: hacktronics.com

Console output:


Script om meerdere sensoren uit te lezen

Wat heb je nodig?

1) Weerstand van 4,7 kΩ
2) Arduino OneWire bibliotheek
3) Arduino Dallas TLC bibliotheek

Onderstaand script leest meerdere sensoren uit met de adresgegevens die je scant met bovenstaand script, zo kan je een variabele toewijzen aan een sensor id.

Console output: