Das brauchst du für dein DHT22 Arduino Projekt
- DHT22 Sensor – Auf Amazon ansehen
- Arduino Uno – Auf Amazon ansehen
- LCD Display 16×2 – Auf Amazon ansehen
- Breadboard – Auf Amazon ansehen
- 4,7kΩ Widerstand – Auf Amazon ansehen
- Jumper Kabel – Auf Amazon ansehen
Hinweis: Falls du Budget sparen möchtest, kannst du auch den DHT11-Sensor verwenden. Er ist günstiger, aber etwas weniger genau als der DHT22. Für die meisten Hobby-Projekte reicht er aber völlig aus.
Was macht den DHT22-Sensor so besonders?
Der DHT22 (auch bekannt als AM2302) ist ein digitaler Temperatur- und Luftfeuchtigkeitssensor, der sich durch seine hohe Präzision auszeichnet. Ich schätze besonders seinen weiten Messbereich: Er erfasst Temperaturen von -40°C bis +80°C und Luftfeuchtigkeit von 0-100% relative Luftfeuchte.
Die Genauigkeit beträgt ±0,5°C bei der Temperatur und ±2-5% bei der Luftfeuchtigkeit. Der Sensor aktualisiert seine Messwerte alle 2 Sekunden, was für die meisten Anwendungen völlig ausreichend ist.
DHT22 vs. DHT11:
- DHT22: Höhere Genauigkeit, größerer Messbereich, etwas teurer
- DHT11: Günstiger, Messbereich 0-50°C, Genauigkeit ±2°C
Das LCD-Display verstehen
Ich verwende in diesem Projekt ein 16×2 Zeichen LCD-Display. Das bedeutet, du kannst 2 Zeilen mit jeweils 16 Zeichen darstellen. Die Ansteuerung erfolgt über die LiquidCrystal-Bibliothek, die standardmäßig in der Arduino IDE enthalten ist.
Das Display hat viele Pins, aber keine Sorge – ich zeige dir gleich genau, welcher Pin wohin gehört.
Die Verkabelung: So baust du die Schaltung auf
Jetzt wird’s praktisch! Ich zeige dir, wie du den DHT22 Arduino und das LCD-Display miteinander verbindest.

DHT22-Sensor anschließen
Der DHT22 hat drei oder vier Pins (je nach Modell):
- VCC (Pin 1) → 5V am Arduino
- DATA (Pin 2) → Digital Pin 8 am Arduino
- NC (Pin 3) → Nicht verbunden (bei 4-Pin-Versionen)
- GND (Pin 4) → GND am Arduino
Wichtig: Du musst einen 4,7kΩ Pull-Up-Widerstand zwischen VCC und DATA einbauen. Dieser Widerstand ist essentiell für die stabile Kommunikation mit dem Sensor!
LCD-Display anschließen
Das LCD-Display benötigt mehrere Verbindungen. Ich habe die wichtigsten Pins hier aufgelistet:
Steuerpins:
- RS → Pin 12 (Arduino)
- Enable → Pin 11 (Arduino)
- D4 → Pin 5 (Arduino)
- D5 → Pin 4 (Arduino)
- D6 → Pin 3 (Arduino)
- D7 → Pin 2 (Arduino)
Stromversorgung:
- VSS → GND
- VDD → 5V
- V0 → Mit Potentiometer für Kontrast (oder direkt GND für maximalen Kontrast)
- A (Anode) → 5V (für Hintergrundbeleuchtung)
- K (Kathode) → GND

Profi-Tipp: Achte besonders auf die korrekte Polung bei der Stromversorgung. Ein vertauschtes VCC und GND kann deine Bauteile beschädigen. Ich überprüfe die Verkabelung immer zweimal, bevor ich das Projekt einschalte.
Der Code für deinen DHT22 Arduino
Bevor du den Code hochladen kannst, musst du die DHT-Bibliothek installieren. Öffne dazu in der Arduino IDE den Library Manager (Sketch → Bibliothek einbinden → Bibliotheken verwalten) und suche nach „DHT sensor library“ von Adafruit. Installiere diese Bibliothek zusammen mit der „Adafruit Unified Sensor“ Bibliothek.
Die LiquidCrystal-Bibliothek ist bereits in der Arduino IDE vorinstalliert.
Der vollständige Sketch
Hier ist der komplette Code für dein Projekt:
#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 8
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
float humidity, temperature;
void setup() {
dht.begin();
lcd.begin(16, 2);
}
void loop() {
humidity = dht.readHumidity();
temperature = dht.readTemperature();
delay(2000);
lcd.setCursor(8, 0);
lcd.print("Temperatur:");
lcd.setCursor(8, 1);
lcd.print("Humidity:");
lcd.setCursor(0, 0);
lcd.print(temperature);
lcd.setCursor(0, 1);
lcd.print(humidity);
}
So funktioniert der Code im Detail
Lass mich dir erklären, was in den einzelnen Abschnitten passiert:
Bibliotheken und Definitionen:
- Ich binde die benötigten Bibliotheken ein
- Mit
#define DHTPIN 8lege ich fest, dass der Sensor an Pin 8 hängt #define DHTTYPE DHT22definiert den Sensortyp
Objekt-Initialisierung:
DHT dht(DHTPIN, DHTTYPE)erstellt ein DHT-Objekt mit den definierten ParameternLiquidCrystal lcd(12, 11, 5, 4, 3, 2)initialisiert das LCD mit den Pin-Nummern- Die float-Variablen speichern später die Messwerte
Setup-Funktion:
dht.begin()startet den DHT-Sensorlcd.begin(16, 2)initialisiert das LCD mit 16 Spalten und 2 Zeilen
Loop-Funktion:
dht.readHumidity()liest die Luftfeuchtigkeit ausdht.readTemperature()liest die Temperatur ausdelay(2000)wartet 2 Sekunden (der DHT22 braucht diese Zeit zwischen den Messungen)- Mit
lcd.setCursor()positioniere ich den Cursor lcd.print()gibt die Werte und Beschriftungen auf dem Display aus
Upload und Test
Jetzt kannst du den Code hochladen:
- Verbinde deinen Arduino per USB mit dem Computer
- Wähle in der Arduino IDE das richtige Board (Tools → Board → Arduino Uno)
- Wähle den richtigen Port (Tools → Port)
- Klicke auf den Upload-Button (Pfeil nach rechts)
Nach wenigen Sekunden solltest du auf dem LCD-Display die aktuellen Werte für Temperatur und Luftfeuchtigkeit sehen. Die Werte aktualisieren sich alle 2 Sekunden.
Zur Fehlersuche: Falls keine Werte erscheinen, öffne den Seriellen Monitor (Tools → Serieller Monitor) und füge im Code Serial.begin(9600); im setup() und Serial.println(temperature); im loop() hinzu. So kannst du überprüfen, ob der Sensor überhaupt Werte liefert.
Fazit und Ausblick
Herzlichen Glückwunsch! Du hast erfolgreich gelernt, wie du mit einem DHT22 Arduino Setup Temperatur und Luftfeuchtigkeit messen und auf einem LCD-Display anzeigen kannst. Du kennst jetzt die Grundlagen der Sensorauswertung und der LCD-Ansteuerung.
Mögliche Erweiterungen
Ich habe für dich einige Ideen, wie du dein Projekt ausbauen kannst:
- Datenlogging: Speichere die Messwerte auf einer SD-Karte für langfristige Auswertungen
- WLAN-Anbindung: Nutze einen ESP8266 oder ESP32, um die Daten ins Internet zu senden
- Alarmfunktion: Programmiere einen Buzzer, der bei zu hoher/niedriger Luftfeuchtigkeit warnt
- Mehrere Sensoren: Überwache verschiedene Räume gleichzeitig
- Grafische Darstellung: Verbinde das Projekt mit Processing oder Python für schöne Diagramme
Troubleshooting: Häufige Probleme
Problem: Display zeigt nur weiße Kästchen
Lösung: Drehe am Kontrast-Potentiometer oder verbinde V0 direkt mit GND
Problem: Temperatur zeigt „nan“ oder unrealistische Werte
Lösung: Überprüfe den Pull-Up-Widerstand und die Verkabelung des DHT22
Problem: Werte ändern sich nicht
Lösung: Stelle sicher, dass das delay(2000) im Code vorhanden ist
Problem: Display bleibt komplett dunkel
Lösung: Überprüfe die Stromversorgung (VDD und VSS) sowie die Hintergrundbeleuchtung (A und K)
Mit diesem Projekt hast du die perfekte Grundlage für viele weitere Arduino-Projekte gelegt. Der DHT22 ist extrem vielseitig einsetzbar und die LCD-Ansteuerung kannst du auch für völlig andere Anwendungen nutzen.
Viel Spaß beim Basteln und Experimentieren!
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

Hallo in die Runde,
bezüglich der Genauigkeit würde mich mal interessieren welche preiswerten Alternativen es zum DHT22 gibt.
Stimmt es, dass die rel. Luftfeuchtigkeit sehr ungenau erfasst wird?
Ein HYT-221 wäre mir einfach zu teuer da ich in insgesamt sechs Räumen Temperatur- und Luftfeuchtigkeitswerte erfassen möchte.
Vielen Dank schon mal im Voraus.
LG Patrick
Dat erinnert mich an damals als ich soetwas Beruflich gemacht habe. ich habe meine Lunte nass gemacht und diese in die Luft gehalten damit ich so die Temperatur messen kann. mhhhhhh.
Hallo Alex,
dieser (Anfänger-) Fehler hat mich eine schlaflose Nacht gekostet. Hilfe fand ich hier:
https://www.arduino.cc/en/pmwiki.php?n=Guide/Libraries#toc2
Lade die Bibliothek als .ZIP – Datei runter.
starte die Arduino IDE
geh auf: Sketch > Bibliothek einbinden > .ZIP- Bibliothek hinzufügen.. > (hier jetzt deinen Ordner und die Bibliothek auswählen)
dann sollte es funktionieren.
Viel Erfolg dh4mbm
(Ich weiß! Der Post ist schon älter, aber vieleicht haben andere Anfänger die selben Probleme wie wir.)
Hallo
ich erhalte ebenfalls beim Kompilieren dauernd die Fehlermeldung :
Users/alex/Documents/Arduino/libraries/DHT22/DHT22.cpp:47:24: fatal error: WConstants.h: No such file or directory
#include „WConstants.h“
Bitte um Hilfe
Danke
Hallo
Ich erhalte beim Kompilieren immer die Fehlermeldung:
„C:Program Files (x86)ArduinolibrariesDHT22DHT22.cpp:47:24: fatal error: WConstants.h: No such file or Directory“
Diese Zeile ist in DHT22.cpp unter: extern „C“
Bitte um Hilfestellung.
Hallo
Ich möchte gerne folgende Schaltung bauen:
1 Sensor misst die Temperatur
wenn ein gewisser Schwellwert (zb 30 Grad) überschritten wird, sollen sich Lüfter einschalten (Standardlüfter wie sie in PCs verbaut sind)
Ist dies mit dem Arduino möglich? Wie muss ich sowas Programmieren und Bauen?
Danke für die Hilfe
zum Thema temperatur und Luftfeuchtigkeit messen
wie muß das Programm geändert werden, wenn das verwendete Display über I2C angeschlossen wird? zur einsparung von Pins(2 anstatt 6)
hallo ich möchte die tempertatur von mehreren räumen erfassen wie bringe ich noch mehr sensoren ein danke im voraus bin absoluter anfänger
Hallo,
in dem Schaltbild fehlt der 4,7kΩ Widerstand zwischen +5V und dem Datenpin des Sensors.
Gruß
Jörg