ESP32 Tutorial 28/55 - DHT11 Temperatursensor mit LCD | SunFounders ESP32 IoT Lernkit
In diesem Tutorial werden wir untersuchen, wie man den DHT11 Temperatur- und Feuchtigkeitssensor mit dem ESP32 Mikrocontroller verbindet. Mit diesem Setup messen wir die Umgebungswärme und -feuchtigkeit und zeigen die Ergebnisse sowohl im seriellen Monitor als auch auf einem LCD-Bildschirm an. Darüber hinaus werden wir einen Summer implementieren, der aktiviert wird, wenn die Temperatur einen bestimmten Schwellenwert überschreitet.
Dieses Projekt demonstriert nicht nur die Verwendung des DHT11-Sensors, sondern zeigt auch die Vielseitigkeit des ESP32, der über integrierte WLAN- und Bluetooth-Funktionen verfügt. Am Ende dieses Tutorials werden Sie eine funktionierende Einrichtung haben, die kontinuierlich die Umgebungsbedingungen überwacht und Echtzeit-Feedback gibt.
Für eine visuelle Anleitung, schauen Sie sich das Video zu diesem Tutorial an (im Video bei :00). Lassen Sie uns eintauchen!
Hardware erklärt
Die Hauptkomponenten, die in diesem Projekt verwendet werden, sind der ESP32-Mikrocontroller, der DHT11-Sensor und ein LCD-Display. Der ESP32 wird als das Gehirn des Betriebs dienen, Daten vom DHT11-Sensor verarbeiten und die LCD-Ausgabe steuern.
Der DHT11-Sensor misst die Luftfeuchtigkeit und Temperatur und liefert die Werte über eine einzelne Datenleitung. Er benötigt eine Stromversorgung von 3,3 V bis 5,5 V und hat einen niedrigen Stromverbrauch, was ihn für batteriebetriebene Anwendungen geeignet macht. Das LCD zeigt die Temperatur- und Feuchtigkeitswerte in Echtzeit an.
Datenblatt Einzelheiten
| Hersteller | GROVE |
|---|---|
| Teilenummer | DHT11 |
| Logik-/IO-Spannung | 3,3 - 5,5 V |
| Versorgungsspannung | 3,3 V |
| Ausgangsstrom (pro Kanal) | 0,5 mA typ. |
| Spitzenstrom (pro Kanal) | 2,5 mA max. |
| PWM-Frequenzrichtlinie | N/A |
| Eingabelogikschwellen | 0,3 VCC (niedrig), 0,7 VCC (hoch) |
| Spannungsabfall / RDS(on)/ Sättigung | Nicht zutreffend |
| Thermische Grenzen | 0°C bis 60°C |
| Paket | DIP-4 |
| Hinweise / Varianten | Auflösung: 1°C / 1% RH |
- Verwenden Sie einen Pull-up-Widerstand (5 kΩ empfohlen) an der Datenleitung.
- Halten Sie die Sensorleitungen kurz (weniger als 20 m), um genaue Messwerte zu gewährleisten.
- Versorgen Sie den DHT11 mit 3,3 V für optimale Leistung.
- Der Abtastzeitraum sollte nicht weniger als 1 Sekunde betragen.
- Überprüfen Sie die Verdrahtungsverbindungen, wenn die Messwerte fehlschlagen (z. B. nicht angeschlossen, falscher Pin).
Verdrahtungsanweisungen


Um den DHT11-Sensor mit dem ESP32 zu verbinden, beginnen Sie damit, den VCC-Pin des DHT11 (den linken Pin) mit dem 3,3V-Ausgang des ESP32 zu verbinden. Anschließend verbinden Sie den Ground-Pin (den vierten Pin) mit einem Ground (GND)-Pin am ESP32. Der Datenpin (den zweiten Pin) sollte mit dem GPIO-Pin 14 am ESP32 verbunden werden.
Für das LCD verbinden Sie den VCC-Pin mit dem 5V-Ausgang des ESP32. Der Ground-Pin sollte mit einem Ground-Pin am ESP32 verbunden werden. Die SDA- und SCL-Pins des LCD sollten an die GPIO-Pins 21 und 22 angeschlossen werden. Stellen Sie sicher, dass alle Verbindungen sicher sind, um Probleme beim Lesen von Daten zu vermeiden.
Codebeispiele und Anleitung
Im ersten Teil des Codes initialisieren wir den DHT-Sensor und setzen die Pin-Nummer mit#define DHTPIN 14Dieser Identifikator ermöglicht es uns, den mit der DHT11-Datenleitung verbundenen Pin im gesamten Code leicht zu referenzieren.
#include "DHT.h"
#define DHTPIN 14 // Set the pin connected to the DHT11 data pin
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
In dersetup()Funktion, wir initialisieren die serielle Kommunikation zur Fehlersuche und beginnen mit dem DHT-Sensor. Die Hauptschleife umfasst eine Verzögerung von 2 Sekunden, um sicherzustellen, dass wir den Sensor nicht mit Anfragen überwältigen.
Als Nächstes lesen wir die Werte für die Luftfeuchtigkeit und die Temperatur aus.float humidity = dht.readHumidity();undfloat temperature = dht.readTemperature();Diese Identifikatoren speichern die gemessenen Werte zur späteren Verwendung.
void loop() {
delay(2000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
}
Schließlich überprüfen wir auf etwaige LeseFehler und geben die Werte an den seriellen Monitor aus mitSerial.print(). Dies ermöglicht es uns, die Messwerte in Echtzeit zu beobachten.
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
Im LCD-Code initialisieren wir das LCD und zeigen die Temperatur und Luftfeuchtigkeit auf dem Bildschirm an, indem wir daslcd.print()Funktion. Dies bietet eine visuelle Darstellung der Daten, die vom DHT11-Sensor erfasst wurden.
Demonstration / Was zu erwarten ist
Sobald alles korrekt verdrahtet ist und der Code auf den ESP32 hochgeladen wurde, sollten die Temperatur- und Feuchtigkeitswerte im seriellen Monitor und auf dem LCD-Bildschirm angezeigt werden. Wenn die Temperatur 30 °C überschreitet, wird der Summer aktiviert, um einen akustischen Alarm auszulösen.
Achten Sie auf umgekehrte Verbindungen und stellen Sie sicher, dass der Sensor nicht extremen Bedingungen ausgesetzt ist, da dies die Messwerte beeinflussen kann. Möglicherweise müssen Sie den Schwellenwert für den Summer je nach Ihren Anforderungen anpassen (im Video bei 15:30).
Video-Zeitstempel
- 00:00 Start
- 1:57 Einführung in den DHT11
- 6:18 Verdrahtung DHT11 mit ESP32
- 7:67 Arduino-Code erklärt
- 11:49 Auswahl des ESP32-Boards und COM-Ports in der Arduino IDE
- 13:30 Projektdemonstration
- 15:32 Fahrenheit erhalten
- 16:04 Temperaturanzeige auf LCD mit ESP32
- 17:20 DHT11 und LCD mit ESP32-Code
- 19:49 DHT11 LCD-Demo mit ESP32
- 21:33 Maßnahmen zur Temperaturwert übernehmen
Common Course Links
Common Course Files
Dinge, die Sie vielleicht brauchen
-
AmazonDHT11 bei Amazon kaufenamzn.to
-
BanggoodKaufe das DHT11-Modul bei Banggoodbanggood.com
Ressourcen & Referenzen
-
DokumentationESP32 Tutorial 28/55 - SunFounder-Dokumentation für DHT-Temperatursensordocs.sunfounder.com
Dateien📁
Fritzing-Datei
-
DHT11 Feuchtigkeits- und Temperatursensor (3 Pins)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB
|||Benutzerhandbuch
-
DHT11 Benutzerhandbuch
robojax-DHT11_manual.pdf0.82 MB