Measure temperature with DS18B20

FunduinoLast updated on

Temperatur messen mit vier verschiedenen Boards

Der DS18B20 ist ein digitaler Temperatursensor. Er liefert den Messwert bereits als fertige Zahl in Grad Celsius, du musst also nichts umrechnen. Es gibt ihn in zwei Bauformen: als bedrahtete Variante fürs Steckbrett und als wasserdichte Ausführung mit Edelstahlhülse am Kabel.

Diese Anleitung zeigt dir den Anschluss an vier verschiedenen Boards:

  • Arduino UNO
  • Wemos D1 Mini
  • ESP32
  • NodeMCU

Für alle Boards gilt: Der Sensor braucht zwischen Datenleitung und 5V einen Pull-up-Widerstand von 4,7 kΩ. Bei den fertigen Modulen mit Platine ist dieser bereits verbaut, bei der bedrahteten Variante musst du ihn selbst setzen.

DS18B20-Temperatursensor mit XH2.54-3P-Buchse
Der DS18B20 mit Buchse

Choose a microcontroller

Pins, schematic, and sketch in the steps change with your selection. It remains saved.

Die Hardware

Die Messung der Temperatur mithilfe von Sensoren ist eine wichtige Standardanwendung für Mikrocontroller.

Der DS18B20 benötigt neben den Anschlüssen für Ground (GND) und 3,3 V bzw. 5 V nur eine einzige Datenleitung. Es gibt ihn in zwei Ausführungen: als Modul mit XH2.54-3P-Buchse und als bedrahtete Variante im wasserdichten Edelstahlgehäuse.

DS18B20-Temperatursensor mit XH2.54-3P-Buchse
Der DS18B20 mit Buchse
Bedrahteter DS18B20-Temperatursensor im Edelstahlgehäuse
Die bedrahtete Variante
1 / 2

Die Schaltpläne für vier Boards

Der Sensor lässt sich an allen vier Boards verwenden. Wie du das jeweilige Board in der Arduino IDE einrichtest, steht in diesen Anleitungen:

Schaltplan: DS18B20 am Arduino UNO
Arduino UNO
Schaltplan: DS18B20 am Wemos D1 Mini
Wemos D1 Mini
Schaltplan: DS18B20 am ESP32-Wroom
ESP32-Wroom
Schaltplan: DS18B20 am NodeMCU
NodeMCU
1 / 4

Benötigte Bibliothek installieren

Für den DS18B20 brauchst du die Bibliothek DallasTemperature. Sie benötigt zusätzlich die Bibliothek OneWire.

Bibliothek DallasTemperature in der Bibliotheksverwaltung
Die Bibliothek DallasTemperature

Messdaten im Seriellen Plotter anzeigen

Den Seriellen Plotter findest du in der Arduino IDE unter Werkzeuge → Serieller Plotter. Er stellt die Messwerte als Kurve dar, statt sie nur als Zahlen aufzulisten.

Temperaturverlauf im Seriellen Plotter der Arduino IDE
Messdaten im Seriellen Plotter
Menü Werkzeuge mit dem Eintrag Serieller Plotter
Werkzeuge → Serieller Plotter
1 / 2

Messdaten auf einem OLED anzeigen

Statt die Werte an den Computer zu senden, kannst du sie direkt auf einem OLED-Display ausgeben. Dafür brauchst du zusätzlich die Bibliothek Adafruit SSD1306. Die Schaltpläne gibt es wieder für alle vier Boards.

Im Artikeltext stehen acht Überschriften „Der Programmcode“ – je vier für die Plotter- und für die OLED-Variante – aber unter keiner davon steht ein Sketch. Die Programme fehlen im Original vollständig.

DS18B20-Messwert auf einem OLED-Display
Messdaten auf einem OLED
Bibliothek Adafruit SSD1306 in der Bibliotheksverwaltung
Die Bibliothek Adafruit SSD1306
Schaltplan: DS18B20 und OLED am Arduino UNO
Arduino UNO mit OLED
Schaltplan: DS18B20 und OLED am Wemos D1 Mini
Wemos D1 Mini mit OLED
Schaltplan: DS18B20 und OLED am ESP32-Wroom
ESP32-Wroom mit OLED
Schaltplan: DS18B20 und OLED am NodeMCU
NodeMCU mit OLED
1 / 6
Rate the instructions

Comments

Ask a question or share an experience

Contact us if something doesn’t work. Please include your board and the error message.

We review every comment before publication. Your email address remains with us.