Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Wemos D1 mini Shield: DHT22 Shield

Posted on 31. Juli 20186. März 2024 by Stefan Draeger

In diesem Tutorial möchte ich gerne das DHT22 Shield für den Wemos D1 mini vorstellen.

  • Bezug des DHT22 Shield
  • Unterschiede zwischen DHT11 & DHT22 Shields
  • Quellcode

Bezug des DHT22 Shield

Das Shield kann für ca. 3 € bei ebay.de* gekauft werden. Du findest dieses aber auch etwas günstiger bei aliexpress.com oder auch manchmal auf amazon.de.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Unterschiede zwischen DHT11 & DHT22 Shields

Es gibt die DHT Temperatursensoren in 2 Versionen DHT11 & DHT22. Der DHT22 hat eine höhere Genauigkeit und einen größeren Messbereich.

 DHT11DHT22
relativen Luftfeuchtigkeit  
Messbereich20 % – 90 %0 % – 100 %
Toleranz±5 %±2 %
Temperatur   
Messbereich0 °C – 60 °C-40 °C – 80 °C
Toleranz±2 °C±0,5 °C

Beide Sensoren werden über den digitalen Pin D4 angesprochen.

Leider kann man somit nicht beide Sensoren an einem Wemos D1 mini betreiben.

Quellcode

Der nachfolgende Quellcode stammt vom Tutorial Arduino Lektion 29: DHT22 Sensor welches bereits den Temperatursensor DHT22 behandelt. Es ändert sich hier „nur“ der digitale Pin welcher verwendet wird.

#include "DHT.h"
#define DHT22PIN 4
#define DHT22TYPE DHT22
DHT dht22(DHT22PIN, DHT22TYPE);
   
 void setup(){
   Serial.begin(9600); 
   Serial.println("DHT22"); 
   dht22.begin();
 }
   
void loop(){
  float humidyDHT22 = dht22.readHumidity(); //relative Luftfeuchtigkeit vom Sensor DHT22 lesen
  float tempDHT22 = dht22.readTemperature(); //Temperatur vom Sensor DHT22 lesen  
  // Prüfen ob eine gültige gleitkomma Zahl empfangen wurde. 
  // Wenn NaN (not a number) zurückgegeben wird, soll eine Fehlermeldung ausgeben werden.
  if (isnan(humidyDHT22) || isnan(tempDHT22)) {
     Serial.println("DHT22 konnte nicht ausgelesen werden");
   } else {
      printValues("DHT22", humidyDHT22, tempDHT22);
   }
  
   delay(15000); 
  }
  
  void printValues(String sensor, float humidy, float temp){
   Serial.print(sensor); 
   Serial.print("\t"); 
   Serial.print("Luftfeuchte: "); 
   Serial.print(humidy);
   Serial.print(" %\t");
   Serial.print("Temperatur: "); 
   Serial.print(temp);
   Serial.println(" C");
  }

6 thoughts on “Wemos D1 mini Shield: DHT22 Shield”

  1. A.T. sagt:
    21. November 2018 um 18:10 Uhr

    Hallo,
    1. Sketch funktioniert nur mit GPIO 4, das entspricht Pin 2
    2. die Spannungsversorgung zum DHT22 (3,3 Volt) muss verzögert angelegt werden, schein ein Init Problem zu sein
    Gibt es ggf. einen Hinweis zum Problem?

    Antworten
    1. Stefan Draeger sagt:
      22. November 2018 um 19:06 Uhr

      Hallo Amin,

      gerne helfe ich dir bei deinen Problemen weiter.
      Leider konnte ich jedoch das Problem nicht genau identifizieren.

      Was passiert denn bei dir genau bzw. was passiert nicht?

      Gruß,

      Stefan

      Antworten
    2. Armin Thoma sagt:
      17. Dezember 2018 um 18:20 Uhr

      Hallo, vielen Dank für die Antworten. Leider funktioniert die Schaltung mit D4 so nicht, habe mehrere andere Sets probiert, das gleiche Problem, es kommt keine Antwort vom DHT22. Wenn ich den DHT an D5 oder D7 (GPIO14 bzw. GPIO13) betreibe, gibt es kein Problem.

      Am Pin D4 funktioniert der Sketch nur, wenn ich die 3,3 V etwas später anlege, was ja für den praktischen Betrieb (Shield montiert) nicht geht. Ich kann es mir einfach nicht erklären und finde den Umweg mit anderer Verdrahtung etwas lästig. Vielleicht gibt es ja doch noch eine andere Erklärung.
      Danke jedenfalls für die angebotene Hilfestellung.

      Grüße A.T.

      Antworten
  2. Johannes sagt:
    7. Dezember 2018 um 16:35 Uhr

    Hallo,
    ich habe dasselbe Problem wie A.T. Wenn die Spannungsversorgung nicht verzögert angelegt wird, scheint der DHT keine Daten senden zu können (isnan(humidyDHT22) || isnan(tempDHT22)). Wenn man die Spannungsversorgung kurz kappt und dann wieder anlegt, ist das Problem behoben.

    Antworten
  3. Markus sagt:
    7. Januar 2019 um 12:48 Uhr

    Hallo,
    ich verstehe nicht warum das DHT Shield ausgerechnet Pin D4 verwendet?! Meiner Meinung gibt das immer Probleme, weil D4 (GPIO2) BUILTIN_LED ist und folgende Booteigenschaften hat GPIO2: is pulled up during boot & internal LED (active LOW). Das stört wohl den DHT22.
    Hab es selbst aber noch nicht ausprobiert, nur in diversen Foren gelesen.

    Antworten
  4. Ondrej sagt:
    9. Februar 2019 um 20:53 Uhr

    Pin D4 is on Wemos D1 mini is used as second TXD line during boot, and for build in LED. So DHT not comunicate without modifikation. Solution you can find hier: https://blog.zs64.net/2018/02/fixing-the-wemos-d1-mini-dht22-shield/

    Antworten

Schreibe einen Kommentar Antworten abbrechen

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

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}