ESP32 - DHT11 - LCD

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 programmieren, um Temperatur und Luftfeuchtigkeit vom DHT11 auszulesen und sie auf dem LCD I2C anzuzeigen.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
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×LCD I2C 16x2
1×DHT11 Temperatur- und Feuchtigkeitssensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über DHT11 und LCD

Wir haben spezielle Tutorials zum DHT11-Sensor und zum LCD. Jedes Tutorial enthält detaillierte Informationen und eine Schritt-für-Schritt-Anleitung zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 und zum ESP32-Code. Erfahren Sie mehr darüber unter den folgenden Links:

Verdrahtungsdiagramm

ESP32 DHT11-Sensor LCD-Verdrahtungsdiagramm

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

Beachten Sie, dass der DHT11-Sensor mit 5 V oder 3,3 V arbeiten kann, daher können Sie den VCC-Pin des DHT11 mit dem 3,3-V-Pin oder dem 5-V-Pin verbinden.

Im obigen Diagramm wird das LCD vom ESP32-Board mit Strom versorgt. In einigen Fällen reicht die Stromversorgung möglicherweise nicht aus, um das LCD-Display zu betreiben. Falls das LCD nichts anzeigt, versorgen Sie das LCD über eine externe Stromquelle, wie unten gezeigt:

  • Wenn der ESP32 über den Vin-Pin mit Strom versorgt wird und das LCD von einer externen Stromquelle gespeist wird
ESP32 DHT11-Modul LCD Verdrahtungsdiagramm

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

  • Wenn das ESP32 über den USB-Anschluss mit Strom versorgt wird und das LCD von einer externen Stromquelle gespeist wird.
ESP32 DHT11 LCD I2C Verdrahtungsdiagramm

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

ESP32-Code - DHT11-Sensor - LCD I2C

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-dht11-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT11_PIN 23 // ESP32 pin GPIO23 connected to DHT11 sensor LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht11(DHT11_PIN, DHT11); void setup() { dht11.begin(); // initialize the DHT11 sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht11.readHumidity(); // read humidity float tempC = dht11.readTemperature(); // read temperature lcd.clear(); // check whether the reading is successful or not if (isnan(tempC) || isnan(humi)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // display position lcd.print("Temp: "); lcd.print(tempC); // display the temperature lcd.print("°C"); lcd.setCursor(0, 1); // display position lcd.print("Humi: "); lcd.print(humi); // display the humidity lcd.print("%"); } // wait a 2 seconds between readings delay(2000); }

※ Notiz:

Die LCD-I2C-Adresse kann von Hersteller zu Hersteller unterschiedlich sein. Im Code verwendeten wir die Adresse 0x27, die vom Hersteller DIYables angegeben wurde.

Schnelle Schritte

  • Wenn dies das erste Mal ist, dass du ESP32 verwendest, schau dir wie man die ESP32-Umgebung in der Arduino IDE einrichtet an.
  • Schließe die Verkabelung wie im obigen Bild an.
  • Schließe das ESP32-Board über ein Micro-USB-Kabel an deinen PC an.
  • Öffne die Arduino-IDE auf deinem PC.
  • Wähle das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicke auf das Bibliotheken-Symbol in der linken Leiste der Arduino-IDE.
  • Gib “DHT” in das Suchfeld ein, und suche anschließend nach der DHT-Sensorbibliothek von Adafruit.
  • Installiere die Bibliothek, indem du auf die Installieren-Schaltfläche klickst.
ESP32 DHT-Sensor-Bibliothek
  • Ein Fenster erscheint, das Sie auffordert, Abhängigkeiten für die Bibliothek zu installieren.
  • Installieren Sie alle Abhängigkeiten für die Bibliothek, indem Sie auf die Schaltfläche Alle installieren klicken.
ESP32 Adafruit einheitliche Sensorbibliothek
  • Geben Sie im Suchfeld “LiquidCrystal I2C” ein, und suchen Sie anschließend nach der LiquidCrystal_I2C-Bibliothek von Frank de Brabander.
  • Klicken Sie auf die Schaltfläche Installieren, um die LiquidCrystal_I2C-Bibliothek zu installieren.
ESP32 LiquidCrystal I2C-Bibliothek
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie auf die Upload-Schaltfläche in der Arduino IDE klicken.
  • Machen Sie den Sensor kälter oder heißer. Zum Beispiel legen Sie den Sensor in die Nähe einer heißen Tasse Kaffee.
  • Sehen Sie das Ergebnis auf dem LCD.

Wenn das LCD nichts anzeigt, siehe Fehlerbehebung am LCD I2C

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

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