ESP32 S3 - DHT22
Lernen Sie, wie Sie den ESP32 S3 mit einem DHT22-Sensor verwenden, um Temperatur und Luftfeuchtigkeit zu messen. Dieses einsteigerfreundliche Tutorial behandelt sowohl den reinen DHT22-Sensor als auch die praktische Modulversion, mit vollständigen Schaltplänen und sofort hochladbaren Codebeispielen.
Was Sie bauen werden:
- Eine funktionierende Schaltung, die einen DHT22-Sensor oder ein DHT22-Modul mit dem ESP32 S3 verbindet
- Firmware, die die Temperatur in Celsius und Fahrenheit sowie die relative Luftfeuchtigkeit ausliest
- Eine Live-Ausgabe im Seriellen Monitor, die Umgebungswerte in Echtzeit anzeigt
- Eine Grundlage, die Sie zu Wetterstationen, Smart-Home-Sensoren und mehr erweitern können

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über DHT22 Temperature and Humidity Sensor
Der DHT22 ist ein digitaler Temperatur- und Feuchtigkeitssensor, der zuverlässige, kalibrierte Umgebungswerte über eine Eindraht-Schnittstelle liefert und damit eine der beliebtesten Wahlen für ESP32 S3 Projekte ist. Er arbeitet mit 3,3 V bis 5 V und lässt sich daher ohne Pegelwandler direkt mit dem ESP32 S3 verbinden. Der Sensor erfasst seine Umgebung alle zwei Sekunden und liefert beide Werte in einem einzigen Lesezyklus.
Wichtige Spezifikationen
Der DHT22 arbeitet mit einer Versorgungsspannung von 3 V bis 5 V und ist damit vollständig kompatibel mit der 3,3-V-Schiene des ESP32 S3. Die Feuchtigkeitsmessung reicht von 0 % bis 100 % mit einer Genauigkeit von ±2 % bis 5 %. Die Temperaturmessung deckt −40 °C bis 80 °C mit einer Genauigkeit von ±0,5 °C ab. Der Sensor aktualisiert mit einer maximalen Rate von 0,5 Hz, das heißt, alle zwei Sekunden steht ein neuer Messwert zur Verfügung.
| DHT22 | |
|---|---|
| Betriebsspannung | 3 bis 5V |
| Feuchtigkeitsbereich | 0% bis 100% |
| Feuchtigkeitsgenauigkeit | ± 2% bis 5% |
| Temperaturbereich | -40°C bis 80°C |
| Temperaturgenauigkeit | ± 0,5°C |
| Leserate | 0,5Hz (einmal alle 2 Sekunden) |
DHT22 Pinbelegung
Der DHT22 ist als reiner Sensor mit vier Pins und als fertiges Modul mit drei Pins erhältlich, das einen eingebauten Pull-up-Widerstand enthält.

Pins des reinen DHT22-Sensors (4 Pins):
- GND-Pin: Mit GND (0 V) verbinden
- VCC-Pin: Mit VCC (3,3 V oder 5 V) verbinden
- DATA-Pin: Kommunikationspin zwischen dem Sensor und dem ESP32 S3
- NC-Pin: Nicht verbunden — unbeschaltet lassen
Pins des DHT22-Moduls (3 Pins):
- VCC (oder +): Mit 3,3 V oder 5 V verbinden
- GND (oder -): Mit GND verbinden
- DATA (oder OUT): Kommunikationspin zum ESP32 S3
Wiring Diagram between DHT22 and ESP32 S3
Um den DHT22 mit Ihrem ESP32 S3 zu verbinden, benötigen Sie nur wenige Drähte und, wenn Sie den reinen Sensor verwenden, einen externen Pull-up-Widerstand. Bei der Modulversion ist der Pull-up-Widerstand bereits eingebaut, daher ist das Modul die einfachere Option für Einsteiger.
Sicherheitshinweise
Versorgen Sie den DHT22 immer über den 3,3-V-Pin des ESP32 S3 und nicht über eine externe 5-V-Schiene, es sei denn, Sie haben die Pegelwandlungsfähigkeit Ihres Moduls überprüft. Halten Sie die DATA-Leitung bzw. das Jumper-Kabel kurz, um Störungen auf dem Eindraht-Bus zu vermeiden. Bei Verwendung des reinen Sensors ist der 10-kΩ-Pull-up-Widerstand zwischen DATA und VCC nicht optional — ohne ihn erhalten Sie fehlerhafte Messwerte oder überhaupt keine Daten.
ESP32 S3 - Verdrahtung des DHT22-Sensors

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| DHT22-Sensor Pin | ESP32 S3 Pin |
|---|---|
| VCC | 3.3V oder 5V |
| GND | GND |
| DATA | GPIO20 |
| 10kΩ-Widerstand | Zwischen DATA und VCC |
ESP32 S3 - Verdrahtung des DHT22-Moduls
Das DHT22-Modul vereinfacht die Verdrahtung, da der Pull-up-Widerstand intern enthalten ist — kein externer Widerstand erforderlich.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| DHT22-Modul Pin | ESP32 S3 Pin |
|---|---|
| VCC (oder +) | 3.3V oder 5V |
| GND (oder -) | GND |
| DATA (oder OUT) | GPIO20 |
ESP32 S3 Code - DHT22
Der folgende Code initialisiert den DHT22 an GPIO20 und geht dann in eine Schleife, die alle zwei Sekunden einen neuen Messwert anfordert, die Rohtemperatur in Celsius und Fahrenheit umrechnet und alle drei Werte in einer formatierten Zeile im Seriellen Monitor ausgibt. Eine Fehlerprüfung ist enthalten, sodass das Programm eine klare Fehlermeldung ausgibt, anstatt stillschweigend unsinnige Werte auszugeben, wenn der Sensor nicht antwortet.
Schnelle Schritte
- Neu beim ESP32 S3? Absolvieren Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3.
- Verdrahtung vorbereiten: Verbinden Sie den DHT22-Sensor oder das DHT22-Modul gemäß dem obigen Schaltplan mit Ihrem ESP32 S3.
- Mit dem Computer verbinden: Schließen Sie den ESP32 S3 mit einem USB-Type-C-Kabel an Ihren Computer an.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board auswählen: Wählen Sie ESP32 S3 in der Board-Auswahl und den richtigen COM-Port aus.
- DHT-Bibliothek installieren: Klicken Sie auf das Symbol des Bibliotheksverwalters in der linken Seitenleiste der Arduino IDE.
- Nach der Bibliothek suchen: Geben Sie "DHT" in das Suchfeld ein und suchen Sie die DHT sensor library von Adafruit.
- Bibliothek installieren: Klicken Sie auf die Schaltfläche Install neben der Adafruit-DHT-Bibliothek.
- Search for DHT sensor library created by Adafruit and click the Install button.
- Abhängigkeiten installieren: Wenn Sie dazu aufgefordert werden, klicken Sie auf Install All, um alle erforderlichen Abhängigkeiten zu installieren (einschließlich der Adafruit Unified Sensor Bibliothek).

- Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
- Sensor testen: Versuchen Sie, die Temperatur um den DHT22 herum zu verändern (stellen Sie ihn neben eine warme Tasse oder kühlen Sie ihn mit einem Ventilator).
- Messwerte ansehen: Öffnen Sie den Seriellen Monitor (auf 115200 Baud eingestellt), um Temperatur- und Feuchtigkeitswerte live zu sehen.
- Profi-Tipp: Warten Sie mindestens 2 Sekunden zwischen den Messungen — der DHT22-Sensor aktualisiert mit einer maximalen Rate von 0,5 Hz, daher liefert eine schnellere Abfrage nur denselben zwischengespeicherten Wert oder einen Lesefehler.
Ausgabe im Seriellen Monitor
Anwendungen und Projektideen
Der ESP32 S3 und der DHT22 sind eine leistungsstarke Kombination für jedes Projekt, das eine genaue und kostengünstige Umgebungsmessung benötigt. Hier sind praktische Einsatzmöglichkeiten für diese Schaltung:
- Wetterstation für zu Hause: Überwachen Sie Raumtemperatur und Luftfeuchtigkeit mit kontinuierlicher Datenaufzeichnung auf einer microSD-Karte oder in einem Cloud-Dashboard.
- Intelligente Gewächshaussteuerung: Lösen Sie Lüfter oder Vernebler automatisch anhand der aktuellen Feuchtigkeitswerte aus.
- Komfortmonitor: Senden Sie eine Benachrichtigung oder lassen Sie einen Summer ertönen, wenn die Raumbedingungen einen angenehmen Bereich verlassen.
- Serverraumüberwachung: Überwachen Sie die Temperatur kontinuierlich, um Überhitzung zu erkennen, bevor Geräte beschädigt werden.
- DIY-Thermostat: Kombinieren Sie ihn mit einem Relais, um ein intelligentes Temperaturregelsystem für jeden Raum zu bauen.
- Terrarium-Monitor: Sorgen Sie dafür, dass Reptilien oder andere feuchtigkeitsempfindliche Tiere immer optimale Bedingungen haben.
- Raumluftqualitäts-Tracker: Kombinieren Sie ihn mit CO₂- oder VOC-Sensoren, um einen umfassenden Umweltmonitor zu bauen.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Da Ihr ESP32 S3 nun zuverlässig Temperatur- und Feuchtigkeitsdaten liest, bringen Sie das Projekt mit diesen zunehmend schwierigeren Herausforderungen weiter:
- Einsteiger: Fügen Sie eine LED hinzu, die sich einschaltet, wenn die Temperatur 25 °C überschreitet, und sich ausschaltet, wenn sie unter 23 °C fällt, und implementieren Sie so eine einfache Hysterese.
- Einsteiger: Zeigen Sie im Seriellen Monitor eine Warnung "Too Humid" an, wenn die Luftfeuchtigkeit über 70 % steigt.
- Fortgeschritten: Protokollieren Sie Temperatur- und Feuchtigkeitswerte auf einer SD-Karte mit ISO-8601-Zeitstempeln, die über WLAN von einem NTP-Server abgerufen werden.
- Fortgeschritten: Veröffentlichen Sie die Messwerte alle 30 Sekunden an einen MQTT-Broker, damit ein Home-Assistant-Dashboard Live-Diagramme anzeigen kann.
- Profi: Bauen Sie einen Webserver auf dem ESP32 S3, der mit Chart.js ein Echtzeitdiagramm von Temperatur und Luftfeuchtigkeit im Browser darstellt.
- Profi: Setzen Sie zwei DHT22-Sensoren an verschiedenen GPIO-Pins ein, um zwei Räume gleichzeitig zu überwachen, und vergleichen Sie die Messwerte in einer einzigen Ausgabe im Seriellen Monitor.