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:

  1. Eine funktionierende Schaltung, die einen DHT22-Sensor oder ein DHT22-Modul mit dem ESP32 S3 verbindet
  2. Firmware, die die Temperatur in Celsius und Fahrenheit sowie die relative Luftfeuchtigkeit ausliest
  3. Eine Live-Ausgabe im Seriellen Monitor, die Umgebungswerte in Echtzeit anzeigt
  4. Eine Grundlage, die Sie zu Wetterstationen, Smart-Home-Sensoren und mehr erweitern können
ESP32 S3 - DHT22

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DHT22 Temperatur-Feuchtigkeitssensor-Modul
1×(Alternativ) DHT22 Sensor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Ü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
Betriebsspannung3 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.

DHT22-Sensormodul Pinbelegung

Pins des reinen DHT22-Sensors (4 Pins):

  1. GND-Pin: Mit GND (0 V) verbinden
  2. VCC-Pin: Mit VCC (3,3 V oder 5 V) verbinden
  3. DATA-Pin: Kommunikationspin zwischen dem Sensor und dem ESP32 S3
  4. NC-Pin: Nicht verbunden — unbeschaltet lassen

Pins des DHT22-Moduls (3 Pins):

  1. VCC (oder +): Mit 3,3 V oder 5 V verbinden
  2. GND (oder -): Mit GND verbinden
  3. 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

ESP32 S3 DHT22 Temperatur- und Feuchtigkeitssensor Schaltplan

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.

ESP32 S3 DHT22 Temperatur- und Feuchtigkeitsmodul Schaltplan

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.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-dht22 */ #include <DHT.h> #define DHT22_PIN 20 // The ESP32 S3 pin GPIO20 connected to DHT22 sensor DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(115200); dht22.begin(); // initialize the DHT22 sensor } void loop() { // read humidity float humi = dht22.readHumidity(); // read temperature in Celsius float temperature_C = dht22.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht22.readTemperature(true); // check whether the reading is successful or not if ( isnan(temperature_C) || isnan(temperature_F) || isnan(humi)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } // wait a 2 seconds between readings delay(2000); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Absolvieren Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3.
  2. Verdrahtung vorbereiten: Verbinden Sie den DHT22-Sensor oder das DHT22-Modul gemäß dem obigen Schaltplan mit Ihrem ESP32 S3.
  3. Mit dem Computer verbinden: Schließen Sie den ESP32 S3 mit einem USB-Type-C-Kabel an Ihren Computer an.
  4. Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
  5. Board auswählen: Wählen Sie ESP32 S3 in der Board-Auswahl und den richtigen COM-Port aus.
  6. DHT-Bibliothek installieren: Klicken Sie auf das Symbol des Bibliotheksverwalters in der linken Seitenleiste der Arduino IDE.
  7. Nach der Bibliothek suchen: Geben Sie "DHT" in das Suchfeld ein und suchen Sie die DHT sensor library von Adafruit.
  8. 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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
DHT sensor library by Adafruit
Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors More info
1.4.6
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. 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).
ESP32 S3 Adafruit Unified Sensor Bibliothek
  1. Code hochladen: Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
  2. 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).
  3. Messwerte ansehen: Öffnen Sie den Seriellen Monitor (auf 115200 Baud eingestellt), um Temperatur- und Feuchtigkeitswerte live zu sehen.
  4. 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

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:01:02] Humidity: 51.30% | Temperature: 24.10°C ~ 75.38°F [2026-06-16 09:01:04] Humidity: 51.10% | Temperature: 24.20°C ~ 75.56°F [2026-06-16 09:01:06] Humidity: 50.80% | Temperature: 24.30°C ~ 75.74°F [2026-06-16 09:01:08] Humidity: 50.50% | Temperature: 24.50°C ~ 76.10°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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:

  1. Wetterstation für zu Hause: Überwachen Sie Raumtemperatur und Luftfeuchtigkeit mit kontinuierlicher Datenaufzeichnung auf einer microSD-Karte oder in einem Cloud-Dashboard.
  2. Intelligente Gewächshaussteuerung: Lösen Sie Lüfter oder Vernebler automatisch anhand der aktuellen Feuchtigkeitswerte aus.
  3. Komfortmonitor: Senden Sie eine Benachrichtigung oder lassen Sie einen Summer ertönen, wenn die Raumbedingungen einen angenehmen Bereich verlassen.
  4. Serverraumüberwachung: Überwachen Sie die Temperatur kontinuierlich, um Überhitzung zu erkennen, bevor Geräte beschädigt werden.
  5. DIY-Thermostat: Kombinieren Sie ihn mit einem Relais, um ein intelligentes Temperaturregelsystem für jeden Raum zu bauen.
  6. Terrarium-Monitor: Sorgen Sie dafür, dass Reptilien oder andere feuchtigkeitsempfindliche Tiere immer optimale Bedingungen haben.
  7. 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:

  1. 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.
  2. Einsteiger: Zeigen Sie im Seriellen Monitor eine Warnung "Too Humid" an, wenn die Luftfeuchtigkeit über 70 % steigt.
  3. Fortgeschritten: Protokollieren Sie Temperatur- und Feuchtigkeitswerte auf einer SD-Karte mit ISO-8601-Zeitstempeln, die über WLAN von einem NTP-Server abgerufen werden.
  4. Fortgeschritten: Veröffentlichen Sie die Messwerte alle 30 Sekunden an einen MQTT-Broker, damit ein Home-Assistant-Dashboard Live-Diagramme anzeigen kann.
  5. Profi: Bauen Sie einen Webserver auf dem ESP32 S3, der mit Chart.js ein Echtzeitdiagramm von Temperatur und Luftfeuchtigkeit im Browser darstellt.
  6. 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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!