Ein digitales Thermometer mit Alarmfunktion ist eines der nützlichsten Arduino-Projekte, weil es sofort einen praktischen Mehrwert liefert: Du misst Temperaturen zuverlässig und wirst automatisch gewarnt, sobald ein Grenzwert über- oder unterschritten wird. Das eignet sich für viele Szenarien – vom Kühlschrank-Check über Aquarien- oder Terrarienüberwachung bis hin zur Kontrolle von Elektronikgehäusen oder Pflanzenanzuchten. Gleichzeitig ist das Projekt ein hervorragendes Tutorial, um typische Maker-Bausteine sinnvoll zu kombinieren: einen Temperatursensor, eine Anzeige (z. B. OLED oder LCD), eine akustische Ausgabe über einen Buzzer sowie eine saubere Softwarelogik mit Hysterese und nicht-blockierendem Timing. Viele Einsteiger scheitern bei Alarmprojekten an Kleinigkeiten: Der Alarm flackert bei Grenzwerten, das Display ruckelt, die Messwerte springen oder die Bedienung ist unpraktisch. In diesem Tutorial lernst du, wie du ein digitales Thermometer so aufbaust, dass es im Alltag stabil funktioniert – inklusive Sensorwahl (DS18B20, NTC oder DHT-Varianten), korrekter Verdrahtung, Filterung der Messwerte, konfigurierbarer Grenzwerte, Alarm-Sperrzeiten und optionaler Speicherung der letzten Einstellungen. Ziel ist ein System, das nicht nur „irgendwie misst“, sondern ein sauberes, nachvollziehbares und erweiterbares Thermometer mit Alarmfunktion.
Projektüberblick: Funktionen und typische Anwendungsfälle
Bevor du Bauteile bestellst oder verdrahtest, lohnt sich ein klarer Funktionsumfang. So vermeidest du, dass das Projekt unnötig komplex wird oder dass dir wichtige Teile fehlen. Ein gutes digitales Thermometer mit Alarmfunktion besteht aus Kernfunktionen und optionalen Komfortfeatures.
- Temperaturmessung: zuverlässig, reproduzierbar, sinnvoll getaktet
- Anzeige: aktuelle Temperatur, Einheit, ggf. Min/Max
- Alarmschwellen: Ober- und/oder Untergrenze
- Alarm-Ausgabe: akustisch (Buzzer), optisch (LED), optional beides
- Stabile Logik: Hysterese gegen Flattern, Cooldown gegen Dauerpiepen
Typische Anwendungen sind Kühlschrankwarnung (zu warm), Frostwarnung (zu kalt), Überhitzungsschutz in Gehäusen oder eine Temperaturkontrolle für Heizmatten und Terrarien (mit Vorsicht bei echten Regelaufgaben).
Sensorwahl: DS18B20, NTC oder Kombisensoren?
Die Qualität deines digitalen Thermometers steht und fällt mit dem Sensor. Für Einsteiger ist ein digitaler Sensor oft die beste Wahl, weil er weniger anfällig für Störungen ist und direkt Temperaturwerte liefert. Analoge Sensoren wie NTCs sind günstig und schnell, erfordern aber sauberere Auswertung und Kalibrierung.
DS18B20 (digital, 1-Wire)
- Vorteile: robuste digitale Ausgabe, gut dokumentiert, lange Leitungen möglich
- Ideal für: Wasser (in wasserdichter Sonde), Außenmessung, Kühlschrank, Gehäuse
- Hinweis: benötigt typischerweise einen Pull-up-Widerstand am Datenpin
NTC-Thermistor (analog)
- Vorteile: sehr günstig, schnelle Reaktion
- Nachteile: Kalibrierung notwendig, empfindlicher gegen Leitungs- und ADC-Effekte
- Ideal für: Bastelaufbauten, wenn du analogRead und Berechnungen lernen willst
DHT11/DHT22 (Temperatur + Feuchte)
- Vorteile: kombiniert Luftfeuchtigkeit und Temperatur
- Nachteile: Temperaturmessung oft weniger präzise als spezialisierte Sensoren
- Ideal für: Raumklima-Projekte, bei denen Feuchte mit angezeigt werden soll
Für ein Thermometer mit Alarmfunktion ist der DS18B20 in vielen Fällen die pragmatischste Wahl. Wenn du die Messwerte zusätzlich auf einem Display darstellst, wirkt das Ergebnis sofort „fertig“.
Benötigte Bauteile: Minimal-Setup und sinnvolle Erweiterungen
Ein gutes Tutorial beginnt mit einem klaren Bauplan. Für das Grundprojekt brauchst du einen Mikrocontroller, einen Sensor, einen Alarmgeber und optional eine Anzeige. Viele Nutzer ergänzen später einen Taster zur Einstellung der Grenzwerte.
Minimal-Setup
- Arduino Uno
- Temperatursensor (z. B. DS18B20 oder NTC)
- Buzzer (aktiv oder passiv) oder alternativ eine LED als Alarm
- Jumper-Kabel und Breadboard
Empfohlene Erweiterungen
- OLED-Display (z. B. SSD1306) oder 16×2-LCD
- 2–3 Taster (Up/Down/Mode) für Grenzwerte und Menü
- Widerstände (Pull-up/Pull-down, je nach Aufbau)
- Optional: EEPROM-Nutzung zur Speicherung von Grenzwerten
Grundlagen zum Arduino Uno und zur Pinbelegung findest du in der offiziellen Dokumentation: Arduino Uno Rev3.
Verdrahtung: Typische Anschlüsse und Stolperstellen
Die Verdrahtung hängt vom Sensor ab. Damit das Tutorial universell bleibt, ist es sinnvoll, die Prinzipien zu verstehen: Sensorversorgung, Signalpin, gemeinsame Masse und – wenn nötig – Pull-up-Widerstände oder Spannungsteiler. Gerade bei NTCs ist der Spannungsteiler entscheidend, weil der Arduino den Widerstand nicht direkt misst, sondern eine Spannung am Analogeingang.
DS18B20: Pull-up und Datenleitung
- Sensor VCC → 5V (oder 3,3V je nach Setup)
- Sensor GND → GND
- Sensor DATA → Digitalpin (z. B. D2)
- Pull-up (typisch 4,7 kΩ) zwischen DATA und VCC
NTC: Spannungsteiler am Analogeingang
- NTC + Festwiderstand als Spannungsteiler zwischen 5V und GND
- Mittelpunkt → Analogpin (z. B. A0)
- Werte müssen in Temperatur umgerechnet werden (Kennlinie, Beta-Wert)
Für das Auslesen analoger Sensorwerte ist diese Referenz hilfreich: analogRead().
Anzeige integrieren: OLED oder LCD für eine „fertige“ Nutzeroberfläche
Ein digitales Thermometer wirkt deutlich professioneller, wenn es die Temperatur auf einem Display zeigt. OLEDs (SSD1306) sind besonders beliebt, weil sie kontraststark sind und wenig Platz benötigen. Viele OLEDs arbeiten über I2C, sodass du mit nur zwei Datenleitungen auskommst.
I2C-Grundprinzip (für OLED und viele Sensoren)
- SDA → beim Arduino Uno typischerweise A4
- SCL → beim Arduino Uno typischerweise A5
- VCC/GND entsprechend dem Modul
Die Arduino-Referenz zur I2C-Kommunikation findest du hier: Wire (I2C).
Alarm-Design: Warum Hysterese und Cooldown unverzichtbar sind
Ohne Hysterese „zittert“ ein Alarm um den Grenzwert: Sobald die Temperatur minimal darüber liegt, geht der Alarm an, bei minimal darunter wieder aus – und das mehrmals pro Minute. Das ist in der Praxis unbrauchbar. Hysterese bedeutet, dass du zwei Schwellwerte nutzt: einen zum Auslösen und einen zum Zurücksetzen. Zusätzlich hilft ein Cooldown (Sperrzeit), damit der Alarm nicht ununterbrochen piept oder bei kurzen Peaks sofort wieder startet.
Beispielhafte Alarm-Logik
- Obergrenze: Alarm an, wenn T ≥ 30,0°C
- Hysterese: Alarm aus erst, wenn T ≤ 29,0°C
- Cooldown: Nach Alarmende mindestens 30 Sekunden Ruhe, bevor neu ausgelöst werden darf
Diese Logik macht dein digitales Thermometer alltagstauglich und reduziert Fehlalarme durch Messrauschen.
Nicht-blockierendes Timing: Messung und Alarm ohne delay()
Viele Einsteiger bauen die Alarmfunktion mit delay()-Schleifen: „Piepe 500 ms, Pause 500 ms“. Das blockiert jedoch die loop(), verhindert reaktionsschnelle Bedienung und erschwert Display-Updates. Besser ist eine Zeitsteuerung mit millis(): Du kannst Messintervalle, Display-Refresh und Alarmtonmuster unabhängig voneinander verwalten.
- Messung z. B. alle 1–2 Sekunden
- Display-Update z. B. 5–10-mal pro Sekunde, aber nur bei Änderungen
- Alarmton als Muster (z. B. 200 ms an, 800 ms aus) ohne Blockieren
Die offizielle Referenz zu millis() findest du hier: millis().
Grenzwerte einstellen: Taster, Menü und sinnvolle Bedienlogik
Ein Thermometer mit fest verdrahtetem Grenzwert ist ein guter Start, aber in der Praxis möchtest du Werte anpassen, ohne jedes Mal den Sketch zu ändern. Mit 2–3 Tastern kannst du ein einfaches Menü bauen: Modus wechseln, Grenzwert erhöhen/senken, Alarm quittieren. Wichtig ist dabei Entprellung, damit ein Tastendruck nicht mehrfach gezählt wird.
Einfaches Bedienkonzept
- Mode: wechselt zwischen „Anzeige“, „Set Obergrenze“, „Set Untergrenze“
- Up/Down: verändert den aktuellen Grenzwert
- Long-Press: speichert Werte oder quittiert Alarm
Entprellung ist Pflicht
Taster liefern keine sauberen Flanken, sondern „prellen“. Das bedeutet, ein Tastendruck erzeugt sehr schnell mehrere Signalwechsel. Du löst das entweder per Hardware (RC-Glied) oder per Software (zeitbasierte Sperre). Für die Grundlagen digitaler Eingänge ist die Arduino-Referenz hilfreich: digitalRead().
Grenzwerte dauerhaft speichern: EEPROM sinnvoll einsetzen
Wenn du Grenzwerte einstellbar machst, ist der nächste logische Schritt: sie nach einem Neustart beibehalten. Dafür eignet sich EEPROM. Dabei solltest du Schreibzugriffe sparsam einsetzen, weil EEPROM eine begrenzte Anzahl von Schreibzyklen hat. Speichere also nicht bei jedem kleinen Schritt, sondern z. B. beim Verlassen des Einstellmodus oder nach einem Long-Press.
- Grenzwerte nur bei Änderung speichern
- Speichern als Integer (z. B. Temperatur × 10), um Float-Probleme zu vermeiden
- Optional: Prüfsumme oder „Magic Byte“ zur Validierung der Daten
Die offizielle Dokumentation zur EEPROM-Library findest du hier: Arduino EEPROM Library.
Kalibrierung und Messqualität: So wirken die Werte vertrauenswürdig
Ein digitales Thermometer ist nur so gut wie seine Messqualität. Auch digitale Sensoren können leicht abweichen, und die Montage hat großen Einfluss: Wenn der Sensor direkt neben einem Spannungsregler sitzt, misst er „Elektroniktemperatur“ statt Umgebung. Wenn er in einem geschlossenen Gehäuse steckt, entstehen Wärmestaus. Das führt zu scheinbar falschen Werten, obwohl der Sensor korrekt arbeitet.
Praxis-Tipps für bessere Messwerte
- Sensor nicht direkt an Wärmequellen auf dem Board platzieren
- Bei Gehäusemessungen: Luftzirkulation ermöglichen oder Messpunkt bewusst wählen
- Bei Außenmessung: vor Sonne und Regen schützen, aber nicht luftdicht
- Messwerte glätten (Mittelwert oder exponentielle Glättung), ohne zu träge zu werden
Fehlersuche: Häufige Probleme und schnelle Lösungen
Ein Thermometerprojekt hat typische Fehlerbilder. Mit strukturiertem Debugging kannst du sie schnell eingrenzen. Besonders hilfreich ist der serielle Monitor, um Rohwerte, Zustände und Alarmübergänge zu loggen.
Typische Symptome
- Temperatur bleibt bei -127°C oder 85°C: häufig ein Hinweis auf DS18B20-Verbindungs- oder Initialisierungsprobleme
- Alarm flackert: Hysterese fehlt oder Messwerte sind zu stark verrauscht
- Display ruckelt: zu häufiges Neuzeichnen oder blockierende delays
- Werte springen: schlechte Kontakte, lange Leitungen ohne saubere Verdrahtung, fehlende Filterung
- Taster reagiert doppelt: Entprellung fehlt
Für serielles Debugging ist diese Referenz nützlich: Serial.
Weiterführende Informationsquellen
- Arduino Uno Rev3: Hardware, Pins und Versorgung
- millis(): Nicht-blockierendes Timing für Alarmmuster
- analogRead(): Analoge Temperaturmessung (z. B. NTC) auslesen
- digitalRead(): Tastereingaben korrekt erfassen
- Serial: Debugging und Messwertausgabe
- EEPROM: Grenzwerte dauerhaft speichern
- Wire (I2C): OLED-Displays und I2C-Sensoren anbinden
IoT-PCB-Design, Mikrocontroller-Programmierung & Firmware-Entwicklung
PCB Design • Arduino • Embedded Systems • Firmware
Ich biete professionelle Entwicklung von IoT-Hardware, einschließlich PCB-Design, Arduino- und Mikrocontroller-Programmierung sowie Firmware-Entwicklung. Die Lösungen werden zuverlässig, effizient und anwendungsorientiert umgesetzt – von der Konzeptphase bis zum funktionsfähigen Prototyp.
Diese Dienstleistung richtet sich an Unternehmen, Start-ups, Entwickler und Produktteams, die maßgeschneiderte Embedded- und IoT-Lösungen benötigen. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
IoT-PCB-Design & Schaltplanerstellung
-
Leiterplattenlayout (mehrlagig, produktionstauglich)
-
Arduino- & Mikrocontroller-Programmierung (z. B. ESP32, STM32, ATmega)
-
Firmware-Entwicklung für Embedded Systems
-
Sensor- & Aktor-Integration
-
Kommunikation: Wi-Fi, Bluetooth, MQTT, I²C, SPI, UART
-
Optimierung für Leistung, Stabilität & Energieeffizienz
Lieferumfang:
-
Schaltpläne & PCB-Layouts
-
Gerber- & Produktionsdaten
-
Quellcode & Firmware
-
Dokumentation & Support zur Integration
Arbeitsweise:Strukturiert • Zuverlässig • Hardware-nah • Produktorientiert
CTA:
Planen Sie ein IoT- oder Embedded-System-Projekt?
Kontaktieren Sie mich gerne für eine technische Abstimmung oder ein unverbindliches Angebot. Finden Sie mich auf Fiverr.

