Arduino Nano ESP32 - Temperatur- und Feuchtigkeitssensor - LCD

Diese Anleitung erklärt Ihnen, wie Sie mit dem Arduino Nano ESP32 die Luftfeuchtigkeit und Temperaturwerte von DHT11/DHT22-Sensoren auslesen und auf dem LCD über I2C anzeigen.

Erforderliche Hardware

1×Arduino Nano ESP32
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×(Optional) DHT22 Temperature and Humidity Sensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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, DHT22 und LCD

Wir haben spezielle Tutorials zu DHT11- und DHT22-Temperatursensoren und LCD. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 und zum Arduino Nano ESP32-Code... Weitere Informationen dazu finden Sie in den folgenden Links:

Verdrahtungsdiagramm

In einigen Fällen kann der Arduino Nano ESP32 möglicherweise nicht genügend Strom für das LCD-Display liefern. Wenn das LCD nichts anzeigt, versorgen Sie das LCD mit einer externen Stromquelle. Nachfolgend finden Sie Verdrahtungsdiagramme für einige Anwendungsfälle. Beachten Sie, dass der DHT22-Sensor mit 5V oder 3,3V betrieben werden kann, sodass Sie den VCC-Pin des DHT22 an den 3,3V-Pin oder den 5V-Pin anschließen können.

Arduino Nano ESP32 - DHT11 Modul LCD I2C Verdrahtung

Arduino Nano ESP32 DHT11-Modul LCD-Schaltplan

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

Arduino Nano ESP32 - DHT22-Modul LCD I2C-Verkabelung

  • Verdrahtungsdiagramm mit Steckbrett, Versorgung des Arduino Nano ESP32 über den USB-Anschluss, Versorgung des LCD über das Arduino Nano ESP32-Board
Arduino Nano ESP32 DHT22-Modul LCD-Schaltplan

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

Arduino Nano ESP32-Code - DHT11-Sensor - LCD I2C

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.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 je nach Hersteller unterschiedlich sein. Im Code verwendeten wir die Adresse 0x27, die vom Hersteller DIYables angegeben wurde.

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial über wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus. Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Geben Sie “DHT” in das Suchfeld ein, suchen Sie dann nach der DHT-Sensorbibliothek von Adafruit.
  • Installieren Sie die Bibliothek, indem Sie auf die Schaltfläche Install klicken.
Arduino Nano ESP32 DHT-Sensor-Bibliothek
  • Es erscheint ein Fenster, das Sie auffordert, die Abhängigkeiten der Bibliothek zu installieren
  • Installieren Sie alle Abhängigkeiten der Bibliothek, indem Sie auf die Schaltfläche Install All klicken.
Arduino Nano 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.
Arduino Nano 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 Arduino Nano ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Hochladen klicken.
  • Machen Sie den Sensor kälter oder wärmer. Zum Beispiel, indem Sie den Sensor in die Nähe einer heißen Tasse Kaffee bringen.
  • Sehen Sie das Ergebnis auf dem LCD.

Wenn das LCD nichts anzeigt, siehe Fehlerbehebung bei LCD I2C

Arduino Nano ESP32-Code - DHT22-Sensor - LCD I2C

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.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); }

Die beiden oben genannten Codes unterscheiden sich nur in einer Zeile.

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!