Arduino – Temperatur messen mit 1Wire Sensor DS18S20/DS18B20/DS1820

Der OneWire Sensor DS18x20 ist günstig und einfach in der Anwendung.
Hier meine Anleitung wie Ihr den Sensor am Arduino in Betrieb nehmt.

Was wir benötigen:

-OneWire Sensor – Wasserdicht oder eine einfache Variante
Arduino IDE
OneWire Library
4,7 kOhm Widerstand zB. von eBay

Falls noch nicht vorhanden, die Arduino IDE downloaden und entpacken.
Das gleiche machen wir mit der OneWire Library und kopieren diese anschließend in den Arduino IDE Ordner unter den Pfad \arduino-1.0.6\libraries .

Der Sensor muss auch noch am Arduino verkabelt werden dies ist recht einfach, wie Ihr im Bild sehen könnt.
Wenn Ihr die flache Seite anseht, ist der linke Kontakt Ground (GND), der Rechte für +5V (würde auch mit 3,3V funktionieren) und in der Mitte ist er Kontakt für die Daten/Kommunikation in unserem Fall ist das PIN 2.
Arduino OneWire

Solltet Ihr einen Wasserdichten Sensor haben (wie im Bild) schließt Ihn so an:

Schwarz = GND
Gelb bzw. Weiß = Daten
Rot = +5V
DS18B20 Waterproof

Zwischen dem Plus und dem Daten Kontakt benötigen wir nun noch den 4,7 kOhm Widerstand wie oben im Bild eingezeichnet, in der Praxis hab ich es auf meinem Breadboard so gelöst wie im Bild unterhalb.

DS18B20 Resistor

Die Hardware ist somit fertig, weiter geht es mit dem Code.

Der Code is sehr einfach und sparsam gehalten (sollte das Projekt größer werden),
getestet wurde er in der Arduino IDE 1.0.4 und 1.0.6.

Uploaden und im Serial Monitor die Messdaten betrachten.

Falls in der Ausgabe -1000 oder CRC is not valid steht habt ihr ein Problem mit der Verkabelung.

 

 

Viel Spaß beim Messen 😉