Navigation

    makesmart

    • Registrieren
    • Anmelden
    • Suche
    • Aktuell
    • Tags
    • Kategorien
    • Ungelesen
    • Beobachtet
    • Beliebt
    • Gespeichert

    Der DHT22 am D1 Mini - Temperatur und Luftfeuchtigkeit messen - Tutorial

    Tipps, Tricks & Tutorials
    arduino ide d1 mini dht22 esp8266 sensor tutorial
    1
    1
    95
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • cooper
      cooper zuletzt editiert von cooper

      Die Auswahl an Temperatursensoren für Arduino, ESP8266 und Raspberry Pi ist groß. Neben dem DS18B20 und dem BME280 kann man mit dem DHT22 eine Temperaturmessung durchführen. Zusätzlich zur Temperatur kann man mit dem DHT22 aber auch noch die Luftfeuchtigkeit bestimmen. Und genau um diese Kombination geht es in diesem Tutorial. Wir werden zusammen den DHT22 als Shield am D1 Mini zum laufen bekommen um die Temperatur sowie die Luftfeuchtigkeit auszulesen. Dieser Code dient als Basic-Code - als Ausgangsbasis für Projekte mit dem DHT22-Shield für den D1 Mini.

      Solltest du nicht wissen, wie man einen ESP8266 D1 Mini programmiert, kannst du dir gerne diese Schritt-für-Schritt Tutorial anschauen, in dem alles detailliert erklärt wird.

      makesmart_dht22_d1_mini_shield

      Die Verdrahtung

      Die Verdrahtung ist selbsterklärend. Das Shield kann einfach auf den D1 Mini gesteckt werden. Um die Verdrahtung muss man sich dabei natürlich keine Gedanken machen. Es muss lediglich darauf geachtet werden, dass das Shield richtigherum auf den D1 Mini gesteckt wird. Dazu reicht es, die Bezeichnungen der Pins auf dem Shield mit den Bezeichnungen auf dem D1 Mini zu vergleichen.

      Solltet ihr kein Shield haben, sondern nur den DHT22 standalone, könnt ihr den DHT22 wie folgt mit dem D1 Mini verdrahten:

      ESP8266 D1 Mini DHT22
      3.3V / 5V VCC
      GND GND
      D4 DATA
      - NC

      Die Produkte die ich für dieses Tutorial hier verwende, findet ihr hier im Warenkorb im makesmart.shop.

      Arduino IDE - Benötigte Libaries

      Bevor wir die Temperatur und Luftfeuchtigkeit des DHT22 auslesen können, müssen erstmal die passenden Libraries installiert werden. Libraries werden immer gleich installiert. Und zwar über den Bibliotheksverwalter innerhalb der Arduino IDE.

      Arduino IDE
      └───Werkzeuge
          └───Bibliotheken verwalten...
      

      Die passende Library findet ihr über den Suchbegriff DHT22 Sensor Library. Wie die Suche schon verrät, verwenden wir die DHT22 Sensor Library von Adafruit.

      makesmart_DHT22_sensor_library_arduino_ide

      Der Code

      Nach allen Vorbereitungen kann endlich der passende Programmcode ausgeführt werden. Der nachfolgende Code dient als Ausgangslage für eure Projekte mit dem DHT22.

      /*
          DHT22 Basic Code
          Temperatur und Luftfeuchtigkeit auslesen mit einem DHT22 Shield
          Created by cooper, 2020
          my.makesmart.net/user/cooper
      */
      
      #include "DHT.h"
      #define sensor DHT22
      
      int dataPin = 2; // PIN D4 = GPIO 2
                     
      // DHT22 initialisieren
      DHT dht(dataPin, sensor);                
      
      // Temperatur
      float temperature;
      // Luftfeuchtigkeit
      float humidity;
      //Gefühlte Temperatur
      float heatindex;
       
      void setup() {
        Serial.begin(115200);
        delay(100);
        
        pinMode(dataPin, INPUT);
        dht.begin();              
      }
      
      
      
      void loop() {
        
        temperature = dht.readTemperature(); // Die Temperatur des Sensors
        humidity = dht.readHumidity(); // Die Luftfeuchtigkeit des Sensors
        
        // Gefühlte Temperatur wird errechnet aus temperature und humidity
        heatindex = dht.computeHeatIndex(temperature, humidity, false);
      
        Serial.println("##############################");
        Serial.println("Temperatur: " + String(temperature) + " °C");
        Serial.println("Feuchtigkeit: " + String(humidity) + " %");
        Serial.println("Gefühlte Temperatur: " + String(heatindex) + " °C");
      
        
        delay(3500);
        
      }
      

      Es sind drei Variablen verfügbar.

      temperature enthält die aktuelle Temperatur als float.

      humidity enthält die aktuelle Luftfeuchtigkeit als float.

      heatindex enthält die aktuell gefühlte Temperatur als float.

      Die Ausgabe im seriellen Monitor sieht wie folgt aus:

      ##############################
      Temperatur: 26.10 °C
      Feuchtigkeit: 32.10 %
      Gefühlte Temperatur: 25.60 °C
      

      Abschluss

      Mit diesem minimal Basic-Code könnt ihr jedes Projekt mit einem DHT22 realisieren. 🍾

      Ich für meinen Teil möchte mir jetzt dann einen realtime Temperaturlogger programmieren. Da ist die Temperatur bei gewissen Aktionen festhalten und aufzeichnen möchte. Der D1 Mini dient in dem Fall nur als Messstation, welche die Daten an einen zentralen Server sendet.


      Viel Spaß mit euren Projekten! 🙂

      1 Antwort Letzte Antwort Antworten Zitieren 1
      • 1 / 1
      • First post
        Last post