ESP32 S3 - Temperatur- und Feuchtigkeitssensor

Dieses Tutorial zeigt Ihnen, wie Sie DHT11- oder DHT22-Temperatur- und Feuchtigkeitssensoren an Ihren ESP32 S3 anschließen und Umweltdaten in Echtzeit auslesen. Ob Sie eine Wetterstation oder ein Hausautomationsprojekt bauen – die DHT-Sensoren arbeiten nahtlos mit den digitalen Ein-/Ausgängen des ESP32 S3 zusammen.

Was Sie bauen werden:

  1. Eine Schaltung, die einen DHT11- oder DHT22-Sensor mit dem ESP32 S3 verbindet
  2. Einen Arduino-Sketch, der Temperatur- und Feuchtigkeitswerte vom Sensor ausliest
  3. Eine Ausgabe im Seriellen Monitor, die die aktuelle Temperatur in Celsius und Fahrenheit anzeigt
  4. Eine Grundlage für praxisnahe Projekte wie intelligente Gewächshäuser und Klimamonitore
ESP32 S3 - Temperatur- und Feuchtigkeitssensor

Überblick über DHT11 and DHT22 Temperature and Humidity Sensor

DHT11 und DHT22 sind digitale Temperatur- und Feuchtigkeitssensoren, die kalibrierte Werte über eine einzige Datenleitung liefern und sich daher unkompliziert in den ESP32 S3 integrieren lassen. Beide Sensoren sind in Maker-Projekten weit verbreitet, da sie keine analoge Schaltung benötigen und von einer gut gepflegten Arduino-Bibliothek unterstützt werden. Obwohl sie dieselbe Pinbelegung und dasselbe Kommunikationsprotokoll haben, bietet der DHT22 eine höhere Genauigkeit und einen größeren Messbereich, während der DHT11 die günstigere Option für einfache Anwendungen ist.

Wichtige Spezifikationen

Die folgende Tabelle vergleicht die beiden Sensoren direkt miteinander:

DHT22 DHT11
Preis günstig sehr günstig
Feuchtigkeitsbereich 0% bis 100% 20% bis 80%
Feuchtigkeitsgenauigkeit ± 2% bis 5% 5%
Temperaturbereich -40°C bis 80°C 0°C bis 50°C
Temperaturgenauigkeit ± 0.5°C ± 2°C
Abtastrate 0.5Hz (einmal alle 2 Sekunden) 1Hz (einmal pro Sekunde)
Abmessungen 15.1mm x 25mm x 7.7mm 15.5mm x 12mm x 5.5mm
Betriebsspannung3 bis 5V 3 bis 5V

Der DHT22 ist die bessere Wahl, wenn es auf Präzision ankommt, während der DHT11 eine kostengünstige Lösung für unkritische Umweltmessungen ist. Beide Sensoren arbeiten mit 3,3 V, der nativen Spannung des ESP32 S3 – ein Pegelwandler ist nicht erforderlich.

Gemeinsamkeiten von DHT11 und DHT22

  • Identische Pinbelegung mit 4 Pins
  • Gleiche Verdrahtung mit dem ESP32 S3
  • Kompatibler Code mit minimalen Änderungen
  • Beide nutzen digitale Eindrahtkommunikation
  • Geringer Stromverbrauch, ideal für Batterieprojekte

Pinbelegung von DHT11 und DHT22

Die Temperatur- und Feuchtigkeitssensoren DHT11 und DHT22 haben dieselbe Konfiguration mit 4 Pins. Die Pins haben von links nach rechts folgende Funktionen:

  1. VCC-Pin: Mit der Stromversorgung (3,3V oder 5V) verbinden
  2. DATA-Pin: Digitaler Signalpin für die Kommunikation mit dem ESP32 S3
  3. NC-Pin: Nicht verbunden (unbeschaltet lassen)
  4. GND-Pin: Mit Masse (0V) verbinden
Pinbelegung der Temperatur- und Feuchtigkeitssensoren DHT11 und DHT22

Modulversion (empfohlen)

Wir empfehlen dringend, DHT11- und DHT22-Sensormodule für eine einfachere Verdrahtung zu verwenden. Sensormodule enthalten einen integrierten Pull-up-Widerstand, sodass kein externer Widerstand nötig ist. Das Modul hat nur drei Pins – VCC, GND und DATA (manchmal mit +, − und OUT beschriftet) –, was den Aufbau auf dem Steckbrett deutlich schneller und weniger fehleranfällig macht.

Pinbelegung der Temperatur- und Feuchtigkeitsmodule DHT11 und DHT22
image source: diyables.io

Hinweis: Die Pin-Reihenfolge kann je nach Hersteller variieren – prüfen Sie immer die Beschriftung auf Ihrem Modul, bevor Sie die Stromversorgung anschließen.

Schaltplan zwischen DHT11/DHT22 und ESP32 S3

Die Verdrahtung ist für die Sensoren DHT11 und DHT22 mit dem ESP32 S3 identisch, sodass Sie unabhängig vom gewählten Sensor nur ein Verdrahtungsschema lernen müssen. Wenn Sie den nackten Sensor mit 4 Pins (kein Modul) verwenden, setzen Sie einen 10-kΩ-Pull-up-Widerstand zwischen die DATA-Leitung und die 3,3-V-Schiene, um eine zuverlässige Kommunikation sicherzustellen.

Sicherheitshinweise

Versorgen Sie den Sensor immer über den 3,3-V-Pin des ESP32 S3 statt über 5 V – sowohl DHT11 als auch DHT22 sind mit 3,3 V kompatibel, und die GPIO-Pins des ESP32 S3 sind nicht 5-V-tolerant. Halten Sie die DATA-Leitung so kurz wie möglich, um Probleme mit der Signalintegrität zu vermeiden, und tauschen Sie den Sensor niemals im laufenden Betrieb aus, während die Platine mit Strom versorgt ist.

ESP32 S3 - Verdrahtung des DHT11-Sensors

DHT11-Pin ESP32 S3 Pin
VCC 3.3V
GND GND
DATA GPIO12 (oder ein beliebiger digitaler Pin)
NC Nicht verbunden
ESP32 S3 DHT11 Temperatur- und Feuchtigkeitssensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP32 S3 - Verdrahtung des DHT22-Sensors

DHT22-Pin ESP32 S3 Pin
VCC 3.3V
GND GND
DATA GPIO12 (oder ein beliebiger digitaler Pin)
NC Nicht verbunden
ESP32 S3 DHT22 Temperatur- und Feuchtigkeitssensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP32 S3 - Verdrahtung des DHT11-Moduls

Die meisten DHT11-Sensormodule enthalten einen integrierten Widerstand, was Ihre Verdrahtung vereinfacht:

DHT11-Modul-Pin ESP32 S3 Pin
+ (oder VCC) 3.3V
* (oder GND) GND
OUT (oder DATA) GPIO12
ESP32 S3 DHT11 Temperatur- und Feuchtigkeitsmodul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP32 S3 - Verdrahtung des DHT22-Moduls

Die meisten DHT22-Sensormodule enthalten einen integrierten Widerstand, sodass keine externen Bauteile nötig sind:

DHT22-Modul-Pin ESP32 S3 Pin
+ (oder VCC) 3.3V
* (oder GND) GND
OUT (oder DATA) GPIO12
ESP32 S3 DHT22 Temperatur- und Feuchtigkeitsmodul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP32-S3-Code - DHT11

Der folgende Code liest Temperatur und Luftfeuchtigkeit vom DHT11-Sensor aus und gibt beide Werte alle zwei Sekunden im Seriellen Monitor aus. Er initialisiert die Adafruit-DHT-Bibliothek mit dem Sensortyp DHT11 und dem Datenpin GPIO12 und formatiert anschließend jeden Messwert als gut lesbare Zeile, die die Luftfeuchtigkeit in Prozent zusammen mit der Temperatur in Celsius und Fahrenheit anzeigt.

/* * 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-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 12 // The ESP32 S3 pin GPIO12 connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(115200); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.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 DHT 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); }

ESP32-S3-Code - DHT22

Der folgende Code liest Temperatur und Luftfeuchtigkeit vom DHT22-Sensor mit höherer Genauigkeit als beim DHT11 aus. Nur die Konstante für den Sensortyp unterscheidet sich vom DHT11-Sketch – Verdrahtung, Bibliotheksaufrufe und Ausgabeformat sind identisch, sodass sich die Sensoren leicht austauschen lassen.

/* * 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-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 12 // The ESP32 S3 pin GPIO12 connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(115200); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.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 DHT 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); }

Wichtig: Die beiden obigen Codebeispiele unterscheiden sich nur in einer Zeile – der Festlegung des Sensortyps (DHT11 oder DHT22).

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Komponenten verdrahten: Folgen Sie dem obigen Schaltplan, um Ihren DHT-Sensor mit dem ESP32 S3 zu verbinden.
  3. USB-Kabel anschließen: Verbinden Sie Ihren ESP32 S3 über ein Typ-C-Kabel mit Ihrem Computer.
  4. Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
  5. Platine auswählen: Wählen Sie im Platinenmenü den ESP32 S3 aus.
  6. COM-Port auswählen: Wählen Sie den richtigen COM-Port für Ihren ESP32 S3 aus.
  7. DHT-Bibliothek installieren: Klicken Sie auf das Symbol des Bibliotheksverwalters in der linken Seitenleiste.
  8. Nach der Bibliothek suchen: Geben Sie "Adafruit DHT" in das Suchfeld ein.
  9. Adafruit DHT installieren: Klicken Sie bei der DHT-Sensorbibliothek von Adafruit auf Install.
  • 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: Klicken Sie bei der entsprechenden Aufforderung auf Install All, um die erforderlichen Abhängigkeiten hinzuzufügen.
ESP32 S3 Adafruit Unified Sensor-Bibliothek
  1. Code kopieren: Wählen Sie je nach Sensor den DHT11- oder den DHT22-Code.
  2. Code hochladen: Klicken Sie auf die Schaltfläche Upload, um Ihren ESP32 S3 zu programmieren.
  3. Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die Sensorwerte anzuzeigen.
  4. Sensor testen: Stellen Sie den Sensor in die Nähe einer Wärmequelle (z. B. einer Kaffeetasse), um die Werte sich ändern zu sehen.
  5. Profi-Tipp: Warten Sie für stabile Messungen 2–3 Sekunden zwischen den Messungen – DHT-Sensoren benötigen nach jeder Messung eine kurze Beruhigungszeit, und eine zu schnelle Abfrage kann veraltete oder ungültige Daten liefern.

Ausgabe im Seriellen Monitor

Öffnen Sie nach dem Hochladen des Codes den Seriellen Monitor mit 115200 Baud, um Temperatur- und Feuchtigkeitswerte in Echtzeit zu sehen. Die folgende Ausgabe zeigt typische Werte, die am 2026-06-16 in einem Raum gemessen wurden:

∞
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
[09:14:02] Humidity: 52.00% | Temperature: 23.00°C ~ 73.40°F [09:14:04] Humidity: 52.00% | Temperature: 23.00°C ~ 73.40°F [09:14:06] Humidity: 51.00% | Temperature: 23.50°C ~ 74.30°F [09:14:08] Humidity: 51.00% | Temperature: 24.00°C ~ 75.20°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungen und Projektideen

Die Sensoren DHT11 und DHT22 eröffnen eine Vielzahl praktischer ESP32-S3-Projekte – von einfachen Datenanzeigen bis hin zu vollautomatischen Umweltsteuerungen.

  1. Heimwetterstation: Überwachen Sie Innentemperatur und Luftfeuchtigkeit auf einem Display.
  2. Intelligente Gewächshaussteuerung: Automatisieren Sie Bewässerung und Belüftung anhand der Luftfeuchtigkeit.
  3. Automatischer Badlüfter: Schalten Sie einen Lüfter automatisch ein, wenn die Luftfeuchtigkeit einen festgelegten Schwellenwert überschreitet.
  4. Serverraum-Monitor: Senden Sie eine Warnung, wenn die Temperatur über sichere Betriebswerte steigt.
  5. Intelligentes Thermostat: Bauen Sie einen WLAN-fähigen Temperaturregler für die Hausautomation.
  6. Datenlogger: Zeichnen Sie Umweltdaten zur Langzeitanalyse auf einer SD-Karte auf.
  7. Komfortindex-Rechner: Leiten Sie aus den Sensorwerten Hitzeindex oder Taupunkt ab.

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.

Fordern Sie sich selbst heraus

Sobald die grundlegenden Sensormessungen funktionieren, gibt es viele Möglichkeiten, das Projekt zu erweitern und Ihr Verständnis der ESP32-S3-Plattform zu vertiefen.

  1. Anfänger: Fügen Sie eine LED hinzu, die leuchtet, wenn die Temperatur 25°C überschreitet.
  2. Anfänger: Zeigen Sie die Temperatur nur in Celsius an oder fügen Sie einen Taster hinzu, um zwischen Celsius und Fahrenheit umzuschalten.
  3. Fortgeschritten: Fügen Sie einen Summeralarm hinzu, der ertönt, wenn die Luftfeuchtigkeit unter 30 % fällt oder über 70 % steigt.
  4. Fortgeschritten: Erstellen Sie auf dem ESP32 S3 einen Webserver, der Live-Sensorwerte im Browser eines Smartphones anzeigt.
  5. Experte: Protokollieren Sie Temperatur- und Feuchtigkeitsdaten mit Zeitstempel auf einer SD-Karte für die Trendanalyse.
  6. Experte: Senden Sie Sensordaten zur Fernüberwachung an eine Cloud-Plattform wie ThingSpeak oder Blynk.
  7. Experte: Bauen Sie ein vollständiges Klimasteuerungssystem, das anhand von Echtzeit-Sensorwerten automatisch einen Lüfter und einen Luftbefeuchter steuert.

※ 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!