Heute zeige ich dir, wie du mit dem Arduino und dem DS18B20-Sensor präzise Temperaturmessungen durchführst. Der DS18B20 ist ein digitaler Temperatursensor, der sich perfekt für Arduino-Projekte eignet und dir viele Vorteile bietet:
Die digitale Übertragung sorgt für störungsfreie Messwerte, die hohe Genauigkeit macht den Sensor ideal für anspruchsvolle Anwendungen, und die einfache Verkabelung mit nur einem Datenpin spart dir Zeit und Pins am Arduino. Du kannst den Sensor in vielen Bereichen einsetzen: Bau dir eine Wetterstation, überwache die Temperatur in deinem Aquarium oder steuere deine Heizung intelligent.
Den DS18B20 bekommst du in zwei praktischen Varianten: als TO-92-Gehäuse zum direkten Einbau auf dem Breadboard oder als wasserdichte Kabelsonde für Messungen in Flüssigkeiten.

Diese Bauteile brauchst du
- Arduino Uno, Nano oder kompatibles Board – Auf Amazon ansehen
- Breadboard – Auf Amazon ansehen
- Jumperkabel männlich-männlich – Auf Amazon ansehen
- DS18B20 Temperatursensor – Auf Amazon ansehen
- Widerstand 4,7 kOhm – Auf Amazon ansehen
- Optional: Arduino Starter Set – Auf Amazon ansehen
So funktioniert der DS18B20
Der DS18B20 ist ein digitaler Temperatursensor, der mit dem 1-Wire-Protokoll arbeitet. Ich erkläre dir die wichtigsten technischen Merkmale, die du kennen solltest:
Technische Daten:
- Messbereich von -55°C bis +125°C
- Auflösung zwischen 9 und 12 Bit (einstellbar)
- Genauigkeit von ±0,5°C im Bereich -10°C bis +85°C
- Spannungsversorgung: 3,0V bis 5,5V
Das 1-Wire-Protokoll – warum es so praktisch ist
Das Besondere am DS18B20 ist die Kommunikation über nur eine Datenleitung. Das bedeutet für dich: Du kannst sogar mehrere Sensoren am selben Pin betreiben! Jeder Sensor hat eine eindeutige 64-Bit-Adresse, sodass dein Arduino sie unterscheiden kann. Wichtig ist der Pull-Up-Widerstand mit 4,7 kOhm – er sorgt für eine stabile Kommunikation zwischen Sensor und Arduino.
Pinbelegung des DS18B20 im TO-92-Gehäuse
Wenn du den Sensor mit der flachen Seite zu dir hältst, siehst du drei Pins:
- Pin 1 (links): GND (Masse)
- Pin 2 (mitte): DQ (Datenleitung)
- Pin 3 (rechts): VDD (Spannungsversorgung)
Verkabelung: Arduino DS18B20 anschließen
Jetzt zeige ich dir Schritt für Schritt, wie du den Sensor richtig verkabelst:
Anschluss des TO-92-Gehäuses
- Stecke den DS18B20 auf dein Breadboard (flache Seite zu dir gedreht)
- Verbinde den linken Pin (GND) mit Arduino GND
- Verbinde den mittleren Pin (DQ) mit Arduino Digital Pin 2
- Verbinde den rechten Pin (VDD) mit Arduino 5V
- Setze den 4,7 kOhm Widerstand zwischen die Datenleitung (Pin 2) und VDD (5V)
Anschluss der Kabel-Version
Falls du die wasserdichte Kabelsonde verwendest, schließt du sie so an:
- Rotes Kabel → Arduino 5V
- Schwarzes Kabel → Arduino GND
- Gelbes/Weißes Kabel → Arduino Digital Pin 2
- Pull-Up-Widerstand (4,7 kOhm) zwischen Datenleitung und 5V

Wichtiger Hinweis: Vergiss auf keinen Fall den Pull-Up-Widerstand! Ohne ihn funktioniert die Kommunikation nicht zuverlässig.
Bibliotheken installieren
Bevor du mit dem Programmieren beginnst, musst du zwei wichtige Bibliotheken installieren. Ich zeige dir, wie es geht:
1. OneWire-Bibliothek installieren
- Öffne die Arduino IDE
- Gehe zu Sketch → Bibliothek einbinden → Bibliotheken verwalten
- Suche nach „OneWire“
- Klicke auf „Installieren“

2. DallasTemperature-Bibliothek installieren
- Im gleichen Fenster suchst du nach „DallasTemperature“
- Klicke auf „Installieren“

Der Arduino-Code für den DS18B20
Jetzt kommt der spannende Teil – ich erkläre dir den Code im Detail:
// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
/*
* The setup function. We only start the sensors here
*/
void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library
sensors.begin();
}
/*
* Main function, get and show the temperature
*/
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");
// After we got the temperatures, we can print them here.
// We use the function ByIndex, and as an example get the temperature from the first sensor only.
float tempC = sensors.getTempCByIndex(0);
// Check if reading was successful
if(tempC != DEVICE_DISCONNECTED_C)
{
Serial.print("Temperature for the device 1 (index 0) is: ");
Serial.println(tempC);
}
else
{
Serial.println("Error: Could not read temperature data");
}
}
Was passiert im Code?
Lass mich dir die wichtigsten Teile erklären:
- Zeilen 1-2: Hier bindest du die beiden Bibliotheken ein, die du vorher installiert hast
- Zeile 5: Du legst fest, dass der Datenpin an Digital Pin 2 angeschlossen ist
- Zeilen 8-11: Hier initialisierst du die OneWire- und DallasTemperature-Objekte
- setup()-Funktion: Startet die serielle Kommunikation mit 9600 Baud und initialisiert den Sensor
- loop()-Funktion:
- Fordert eine neue Temperaturmessung an
- Liest die Temperatur vom ersten Sensor aus (Index 0)
- Prüft, ob die Messung erfolgreich war
- Gibt die Temperatur über den seriellen Monitor aus
Code hochladen und testen
- Kopiere den Code in deine Arduino IDE
- Wähle dein Board und den richtigen Port aus
- Klicke auf „Hochladen“
- Öffne den seriellen Monitor (Werkzeuge → Serieller Monitor)
- Stelle die Baudrate auf 9600 ein

Im seriellen Monitor siehst du jetzt kontinuierlich die aktuellen Temperaturwerte. Wenn du den Sensor zwischen deinen Fingern erwärmst, solltest du sehen, wie die Temperatur steigt!
Fazit: Dein Einstieg in die Temperaturmessung
Du hast es geschafft! Der Arduino DS18B20 ist ein präziser und einfach zu verwendender digitaler Temperatursensor, der sich perfekt für deine Projekte eignet. Durch das 1-Wire-Protokoll ist die Verkabelung minimal – du brauchst nur einen Datenpin. Mit den richtigen Bibliotheken ist auch die Programmierung unkompliziert, sodass du dich auf dein eigentliches Projekt konzentrieren kannst.
Probleme? Hier sind die Lösungen
- Keine Werte oder Error-Meldung: Prüfe den Pull-Up-Widerstand und kontrolliere alle Verbindungen
- Falsche oder unrealistische Werte: Dein Sensor könnte defekt sein oder ist falsch herum angeschlossen
- Bibliothek nicht gefunden: Installiere die Bibliotheken noch einmal über den Bibliotheksverwalter
Spannende Erweiterungen für dein Projekt
Jetzt, wo du die Grundlagen beherrschst, kannst du noch viel mehr machen:
- Betreibe mehrere DS18B20-Sensoren am selben Pin und miss an verschiedenen Stellen
- Zeige die Temperatur auf einem LCD-Display an
- Baue eine temperaturabhängige Steuerung, zum Beispiel für einen Lüfter
- Speichere deine Messwerte auf einer SD-Karte für langfristige Auswertungen
Ich wünsche dir viel Erfolg mit deinem Temperaturmessungs-Projekt! Der DS18B20 ist ein vielseitiger Sensor, der dich in vielen weiteren Projekten begleiten wird.
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs

Danke , hat super geklappt
Das freut mich :)
Hallo Stefan! Schön für mich, dass Du auch einfache Projekte vorstellst. Ich bin mit 78 Jahren blutiger Anfänger. Die Spielchen mit den LEDs laufen perfekt. Jetzt möchte ich mich mit RGB-LEDs versuchen. Aber da läuft gar nichts. Vielleicht kannst Du mir einen Tipp geben. Beim Händler in meiner Gegend habe ich folgenden Typ gekauft: Die LEDs haben 4 Beinchen, zwei kurze und 2 lange. Wie schließe ich die am Arduino UNO an? Irgend etwas habe ich nicht verstanden.
Bitte, bitte.
Hi Josef, da helfe ich doch gerne. Guck dir mal die Seite an, da hab ich das mal alles beschrieben: Arduino RGB LEDs. Liebe Grüße Stefan
geb auf youtube darude sandstorm ein , da kriegst du hilfe
Haha! :-D Stimmt eigentlich für jede Lebenslage.
Hall Stefan,
danke für deine Info dennoch ich habe schon das Buch gekauft es ist sehr nett von dir das von Zeit zu Zeit kleine Projekte schickst die schon Uralt sind und überall zu finde sind, du fragst immer schreib deine Meinung hiermit due ich es hoffentlich bist Du nicht sauer, Du fragst auch Schreibe deine Idee habe mehr Mals getan keine Antwort es gibt viele Leute sind bereit und mehr Mals schon Geschrieben das bereit sind zu Bezahlen also Überraschen uns sorry wenn ich so direkt gewesen bin.
Lb. Grüße Antonio
Hallo Antonio,
schön, dass dir die Newsletter gefallen. Natürlich sind nicht alle Themen für jede:n Einzelne:n neu, das kann ich ja gar nicht leisen. Allerdings habe ich das Tutorial zu dem Newsletter, den du bekommen hast, erst heute geschrieben. Wenn du die Newsletter nicht mehr magst, kannst du sie natürlich jeder Zeit abbestellen. In jedem einzelnen ist ein Abbestellen-Link ganz unten.
Ich bekomme sehr viele Mails mit Ideen und Anfragen. Wenn ich Zeit habe und Projekte für eine breite Nutzer:innenschaft interessant sein könnten, schreibe ich Tutorials dazu. Dafür bin ich dankbar und bekomme viel positive Rückmeldung dazu.
Ich muss aber auch sagen, dass ich diese Website in meiner Freizeit betreibe. Projekthilfe für einzelne Personen gebe ich nur in extrem seltenen Ausnahmefällen. Wenn andere das gegen Bezahlung anbieten, klingt das für mich fair. Ich biete so etwas allerdings nicht an.
Ich hoffe, das beantwortet deine Fragen erstmal.
Liebe Grüße
Stefan