Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

Lektion 19: Temperatur- und Feuchtigkeitssensormodul (DHT11)

In dieser Lektion lernen Sie, wie Sie Temperatur und Feuchtigkeit mit einem DHT11-Sensor und einem ESP32-Entwicklungsboard auslesen. Wir werden auch besprechen, wie diese Messwerte interpretiert und der Hitzeindex sowohl in Celsius als auch in Fahrenheit berechnet werden. Dieses Projekt eignet sich ideal für Anfänger im Bereich der Umweltsensorik und bietet praktische Erfahrung im Erfassen von Sensordaten sowie grundlegende Konzepte der Klimamessung auf der ESP32-Plattform.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

Sie können sie auch einzeln über die unten stehenden Links kaufen.

Component Introduction

Purchase Link

ESP32 & Development Board

BUY

Temperatur- und Feuchtigkeitssensormodul (DHT11)

KAUFEN

Steckbrett

KAUFEN

Verdrahtung

Bemerkung

Das Kit kann unterschiedliche Versionen des DHT11-Moduls enthalten. Bitte überprüfen Sie die Verdrahtungsmethode entsprechend dem Modul, das Sie haben.

dht11_module

dht11_module_circuit

dht11_module_withLED

dht11_module_withLED_circuit

Code

Bemerkung

Um die Bibliothek zu installieren, verwenden Sie den Arduino Library Manager und suchen Sie nach „DHT sensor library“ und installieren Sie sie.

Code-Analyse

  1. Einbindung der notwendigen Bibliotheken und Definition der Konstanten. Dieser Teil des Codes beinhaltet die DHT-Sensorbibliothek und definiert die verwendete Pinnummer und den Sensortyp für dieses Projekt.

    Bemerkung

    Um die Bibliothek zu installieren, verwenden Sie den Arduino Library Manager und suchen Sie nach „DHT sensor library“ und installieren Sie sie.

    #include <DHT.h>
    #define DHTPIN 25       // Define the pin used to connect the sensor
    #define DHTTYPE DHT11  // Define the sensor type
    
  2. Erstellung des DHT-Objekts. Hier erstellen wir ein DHT-Objekt mit der definierten Pinnummer und dem Sensortyp.

    DHT dht(DHTPIN, DHTTYPE);  // Create a DHT object
    
  3. Diese Funktion wird einmal ausgeführt, wenn das ESP32-Entwicklungsboard startet. Wir initialisieren die serielle Kommunikation und den DHT-Sensor in dieser Funktion.

    void setup() {
      Serial.begin(9600);
      Serial.println(F("DHT11 test!"));
      dht.begin();  // Initialize the DHT sensor
    }
    
  4. Hauptschleife. Die loop()-Funktion läuft kontinuierlich nach der Setup-Funktion. Hier lesen wir die Feuchtigkeits- und Temperaturwerte aus, berechnen den Hitzeindex und geben diese Werte im seriellen Monitor aus. Wenn das Auslesen des Sensors fehlschlägt (NaN zurückgibt), wird eine Fehlermeldung ausgegeben.

    Bemerkung

    Der heat index ist eine Methode zur Messung, wie heiß es draußen durch die Kombination von Lufttemperatur und Feuchtigkeit ist. Er wird auch als „gefühlte Temperatur“ oder „scheinbare Temperatur“ bezeichnet.

    void loop() {
      delay(2000);
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      float f = dht.readTemperature(true);
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println(F("Failed to read from DHT sensor!"));
        return;
      }
      float hif = dht.computeHeatIndex(f, h);
      float hic = dht.computeHeatIndex(t, h, false);
      Serial.print(F("Humidity: "));
      Serial.print(h);
      Serial.print(F("%  Temperature: "));
      Serial.print(t);
      Serial.print(F("°C "));
      Serial.print(f);
      Serial.print(F("°F  Heat index: "));
      Serial.print(hic);
      Serial.print(F("°C "));
      Serial.print(hif);
      Serial.println(F("°F"));
    }