Feuchtigkeitssensor-Modul

Überblick

Feuchtigkeit und Temperatur stehen von der physikalischen Größe selbst bis hin zum tatsächlichen menschlichen Leben in enger Beziehung. Die Temperatur und Feuchtigkeit der menschlichen Umgebung beeinflussen direkt die Thermoregulationsfunktion und den Wärmeübertragungseffekt des menschlichen Körpers. Dies wirkt sich weiter auf die Denkaktivität und den mentalen Zustand aus und beeinflusst somit die Effizienz unseres Lernens und Arbeitens.

Die Temperatur ist eine der sieben grundlegenden physikalischen Größen im Internationalen Einheitensystem, die verwendet wird, um den Grad der Wärme oder Kälte eines Objekts zu messen. Celsius ist eine der weltweit am häufigsten verwendeten Temperaturskalen, ausgedrückt durch das Symbol „℃“.

Feuchtigkeit ist die Konzentration von Wasserdampf in der Luft. Die relative Luftfeuchtigkeit wird im Alltag häufig verwendet und in %RH ausgedrückt. Die relative Feuchtigkeit steht in engem Zusammenhang mit der Temperatur. Bei einem bestimmten Volumen abgeschlossenen Gases gilt: Je höher die Temperatur, desto niedriger die relative Feuchtigkeit und umgekehrt.

Der DHT11, ein digitaler Temperatur- und Feuchtigkeitssensor, ist in diesem Kit enthalten. Er verwendet einen kapazitiven Feuchtigkeitssensor und ein Thermistor, um die umgebende Luft zu messen und gibt ein digitales Signal am Datenpin aus.

Benötigte Komponenten

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

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

Name

ARTIKEL IN DIESEM KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Sie können die Komponenten auch separat über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

Feuchtigkeitssensor-Modul

BUY

Verdrahtung

../_images/07-dht11_bb.png

Schaltplan

../_images/07_humiture_schematic.png

Code

Bemerkung

  • Sie können die Datei 07-humiture_sensor.ino direkt unter dem Pfad elite-explorer-kit-main\basic_project\07-humiture_sensor öffnen.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

Bemerkung

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

Nachdem der Code erfolgreich hochgeladen wurde, werden Sie sehen, dass der Serielle Monitor kontinuierlich die Temperatur und Feuchtigkeit ausgibt. Während das Programm stabil läuft, werden diese beiden Werte immer genauer.

Code-Analyse

  1. Einbindung notwendiger Bibliotheken und Definition von Konstanten. Dieser Teil des Codes bindet die DHT-Sensorbibliothek ein und definiert die Pinnummer und den Sensortyp, die in diesem Projekt verwendet werden.

    Bemerkung

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

    #include <DHT.h>
    #define DHTPIN 2       // Define the pin used to connect the sensor
    #define DHTTYPE DHT11  // Define the sensor type
    
  2. Erstellung eines 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 der Arduino 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. Hauptloop. Die Funktion loop() wird kontinuierlich nach der Setup-Funktion ausgeführt. Hier lesen wir die Feuchtigkeits- und Temperaturwerte, berechnen den Hitzeindex und drucken diese Werte auf den seriellen Monitor. Wenn das Auslesen des Sensors fehlschlägt (NaN zurückgibt), wird eine Fehlermeldung ausgegeben.

    Bemerkung

    Der heat index ist eine Methode, um zu messen, wie heiß es sich draußen anfühlt, indem die Lufttemperatur und die Feuchtigkeit kombiniert werden. Es wird auch als „gefühlte Lufttemperatur“ 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"));
    }