Wemos D1 mini Shield: DHT11 Sensor

Den DHT11 Sensor habe ich bereits vor Jahren in ähnlicher Bauform erworben und im Tutorial Arduino Lektion 6: Sensor DHT11, Temperatur und relative Luftfeuchtigkeit messen beschrieben. Dieses Tutorial beschreibt das DHT11 Shield für den Wemos D1 mini.

Wemos D1 mini DHT11 Shield
Wemos D1 mini DHT11 Shield

Im Lieferumfang sind Stiftleisten in drei Verschiedenen Ausführungen enthalten, also je nach Einsatz des Shields ist etwas dabei. Ich verwende die Stiftleisten mit integrierten Buchen so das man ggf. noch Shields drauf stecken kann.

Das gute an diesem Shield (was ich pers. bei den bisher anderen vorgestellten Shields vermisst habe) ist das auf der Rückseite der Pin genannt wird an welchem der DHT11 Sensor angesprochen wird.

Wemos D1 mini DHT11 Shield - Rückseite
Wemos D1 mini DHT11 Shield – Rückseite

Technische Daten

Der DHT11 Sensor hat folgende Technische Eigenschaften:

  • Messbereich der relativen Luftfeuchtigkeit 20% bis 90%
  • Toleranz des Messbereiches für die relative Luftfeuchtigkeit ±5%
  • Messbereich der Temperatur 0 bis 60°C
  • Toleranz des Messbereiches für die Temperatur ±2°C
  • Betriebsspannung 5V

Anschluss

Das DHT11 Shield kann direkt auf den Wemos D1 mini gesteckt werden, oder aber mit einem Dual / Triple Base Shield angeschlossen werden.

Wemos D1 mini mit DHT11 Shield auf Dual Base Shield
Wemos D1 mini mit DHT11 Shield auf Dual Base Shield

Wie auf der Rückseite vermerkt wird der DHT11 Sensor über den digitalen Pin D4 angesprochen.

Quellcode

Für den nachfolgenden Quellcode wird die DHTLibrary benötigt welche vom GitHub Repository RobTillaart/Arduino geladen werden kann. Der Download gestaltet sich etwas schwierig den man benötigt einen Account von GitHub um zuerst einen Fork (Zweig) zu erstellen um dann diesen als Zip herunter zuladen. Daher habe ich diese Bibliothek als Zip in mein Downloadbereich aufgenommen.

Hier nun die Bibliothek zum einfachen Download als Zip Datei.

#include "DHT.h" //DHT Bibliothek

//Pin an welchem der DHT11 Sensor angeschlossen ist.
//Beim DHT11 Shield ist es der digitale Pin D4.
#define DHTPIN D4 
 
//Festlegen welcher Typ von DHT Sensor verwendet wird.
#define DHTTYPE DHT11

//Initialisieren des Sensors mit dem Anschluss und dem Typ
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600); //Begin der seriellen Kommunikation mit 9600 Baud.
  //Ausgabe eines Textes auf dem seriellen Ausgang.
  Serial.println("Wemos D1 mini DHT11 Shield"); 
 
  dht.begin(); //DHT Kommunikation beginnen.
}
 
void loop() {
  //Der DHT11 Sensor liefert alle 2 Sekunden einen neuen
  //Wert daher lohnt es sich nicht die loop konstant durchlaufen 
  //zu lassen.
  delay(2000);
 
  //lesen der Luftfeuchtigkeit
  double luftfeuchtigkeit = dht.readHumidity();
  //lesen der Temperatur in Grad Celsius
  double temperaturC = dht.readTemperature();
  //lesen der Temperatur in Grad Fahrenheit
  //mit dem Boolean Parameter wird "gesteuert" ob
  //die Temperatur in Fahrenheit oder Celsius ausgegeben wird.
  double temperaturF = dht.readTemperature(true);
 
  //Prüfen ob die Werte erfolgreich gelesen wurden.
  if (isnan(luftfeuchtigkeit) || isnan(temperaturC) || isnan(temperaturF)) {
    Serial.println("Fehler beim lesen von Daten.");
    return;
  }
  
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(luftfeuchtigkeit);
  Serial.println(" %\t");
  Serial.print("Temperatur: ");
  Serial.print(temperaturC);
  Serial.print(" °C ");
  Serial.print(temperaturF);
  Serial.println(" °F\t");
}

Video

Beim Aufbau und Betrieb der Schaltung, ist mir aufgefallen das der Digitale PIN D4, am Wemos D1 mini nicht korrekt verbunden ist (Das Teil ist ja auch nur ein Chinaklone was soll man erwarten?). Daher drücke ich, mit der Messspitze meines Multimeters, etwas auf diesen Kontakt.

Wemos D1 mini DHT11 Shield
Dieses Video ansehen auf YouTube.

2 Gedanken zu „Wemos D1 mini Shield: DHT11 Sensor

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.