Montag, 3. Oktober 2016

DS18B20 Temperatursensor

In diesem Post geht es darum, wie man mit dem digitalen DS18B20 Temperatursensor die Temperatur messen kann. Der DS18B20 hat einen sehr großen Messbereich von -55°C bis +125°C und eine sehr hohe Genauigkeit (maximal 0.5°C Abweichung). Wer sich mit einem rudimentäreren Ergebnis zufrieden geben kann, kann die Temperatur auch nur mit dem Arduino ohne externen Sensor messen.


Verbindung mit dem Arduino

Der DS18B20 hat drei Pins, nämlich Vcc, GND und in der Mitte der Datenpin. Vcc kann mit einer beliebigen Spannung zwischen +3V und +5V verbunden werden, und GND muss mit dem Ground verbunden werden. Der Datenpin muss mit einem digital Pin des Arduino verbunden werden, und desweiteren über einen 4,7kOhm Widerstand (Gelb, Lila, Rot) mit der Versorgungsspannung.

Arduino Sketch

Zur Programmierung des DS18B20 benötigt man zwei Bibliotheken, welche sich jeweils über den Library Manager unter Sketch > Include Library > Manage Libraries herunterladen lassen. Einerseits die OneWire Bibliothek und andererseits die DallasTemperature Bibliothek. 

Um nun die Temperatur abzurufen, muss man ein Objekt vom Typ OneWire erzeugen, welches man anschließend als Temperatursensor spezifiziert wird. Über den Befehl requestTemperature() kann man nun von dem erzeugten Objekt die Temperatur anfordern, und beispielsweise über die serielle Konsole ausgeben lassen.

Ein einfacher Beispielsketch sähe so aus:

Keine Kommentare:

Kommentar veröffentlichen