Von icstation.com habe ich einen DHT11 Sensor zur Messung von Temperatur und Luftfeuchtigkeit zugeschickt bekommen, den ich in einem kleinen Testprojekt zusammen mit einem LC-Display aus dem Arduino Starter Kit verbaut habe.

Der DHT11 ist ein digitaler, in einer Kalibrierungskammer vorkalibrierter Sensor und misst Temperatur und relative Luftfeuchtigkeit im Bereich von 0-50 Grad Celsius bzw. 20-95% Luftfeuchtigkeit.

Hier das Video:

Als Bibliothek zur Abfrage des DHT11 habe ich die DHT11 Klasse von der Arduino-Website verwendet. Leider muss man sich die beiden Dateien für die Library händisch von der Website kopieren und in Dateien mit den Namen dht11.h und dht11.cpp in einem Ordner namens DHT11 speichern.
Da ich immer wieder Mails bekomme, wonach die bisher hier verlinkte Version der DHT11-Library nicht funktioniert, habe ich die von mir verwendete Version hier auf Github veröffentlicht:
https://github.com/adidax/dht11
Einfach rechts auf „Download ZIP“ klicken, dann das im ZIP enthaltene Verzeichnis von dht11-master auf dht11 umbenennen. Dann kann man die Bibliothek über die Funktion „Sketch -> Library importieren“ in der Arduino IDE importieren oder einfach in den /Arduino/libraries-Ordner im eigenen Dokumentenverzeichnis kopieren. Arduino IDE danach sicherheitshalber neu starten.

Und hier der Arduino Sketch zum Auslesen der Daten aus dem DHT11 und zur Ausgabe auf dem LC-Display:

// Libraries einbinden
#include <dht11.h>
#include <LiquidCrystal.h>
 
dht11 DHT11;
#define DHT11PIN 8
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  
 
void setup()
{
  lcd.begin(16, 2);
  lcd.print("Initialisierung...");
  lcd.clear();
}
 
void loop()
{
  int chk = DHT11.read(DHT11PIN);
 
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print((float)DHT11.temperature, 2);
  lcd.print(" C");
  
  lcd.setCursor(0, 1);
  lcd.print("RelF: ");
  lcd.print((float)DHT11.humidity, 2);
  lcd.print(" %");
  
  delay(2000);
}

18 thoughts on “DHT11 Sensor für Temperatur und Luftfeuchtigkeit am Arduino

  • 1. Januar 2015 um 2:30
    Permalink

    Cool, vielen Dank für die Idee und das Produktbeispiel :) Leg‘ ich mir direkt mal zu…

    Antworten
  • 11. Januar 2015 um 18:36
    Permalink

    Hallo funktioniert das mit dem DHT22 auch und woher bekomme ich die Library?
    Hab schon mit der Dht22 Library von github probiert und bekomme die Meldung: „sketch_oct24a:5: error: ‚dht11‘ does not name a type
    sketch_oct24a.ino: In function ‚void loop()‘:
    sketch_oct24a:19: error: ‚DHT11‘ was not declared in this scope“

    Antworten
    • 12. Januar 2015 um 8:49
      Permalink

      Hi, ja das müsste auch mit dem DHT22 funktionieren.
      Offensichtlich sind da nicht funktionsfähige Versionen der Library in Umlauf. Ich mail dir mal meine Version.

      Antworten
      • 6. Mai 2016 um 9:38
        Permalink

        Hallo

        Danke für dieses Tutorial. Ich würde mir ebenso gerne diesen Teil mit einem DHT22 aufbauen. Kannst du mir bitte auch die library schicken?

        Antworten
      • 9. Mai 2016 um 7:30
        Permalink

        Vielen herzlichen Dank für diesen Code.
        Es ist für mich, einen blutigen Anfänger, genau das Richtige zum Starten. Ich möchte ebenfalls Temperaturen und Feuchtigkeit erfassen. Könntest du mir bitte auch die Library für den DHT22 mailen? Diesen werde ich nämlich verwenden.

        Vielen Dank im Voraus
        Friedrich

        Antworten
  • 2. August 2015 um 22:28
    Permalink

    bei mir funktioniert der sketch DHT11 nicht. habe schon alles mögliche probiert.
    zeigt fehler fatal error :dht11.h.:NOsuch file or directory compilation terminated.
    fehler beimkompilieren
    woran liegt es .im vorherrein besten dank.
    gruß w.peter

    Antworten
    • 5. August 2015 um 14:07
      Permalink

      Hallo Peter,
      die Fehlermeldung „fatal error :dht11.h.:NO such file or directory“ deutet eher darauf hin, dass du die DHT11 Library im /libraries-Folder von Arduino nicht richtig installiert hast. Kannst du das nochmal überprüfen?
      lg, Adi

      Antworten
  • 21. Dezember 2015 um 17:44
    Permalink

    Hallo,
    bei mir wird für Temperatur und Luftfeuchtigkeit jeweils 0.00 ausgegeben.
    Weißt Du vielleicht, woran das liegen könnte ?
    Hab mich schon durch viele Foren durchgeklickt wegen diesem Problem und auch ein Test-Sketch für den DHT11 laufen lassen… da kam connect error raus.
    (An der Verkabelung kann es meiner Meinung nach nicht liegen, die habe ich etliche male durchgecheckt).
    Danke im Voraus und liebe Grüße.
    Baptiste

    Antworten
    • 22. Dezember 2015 um 23:05
      Permalink

      Hi Baptiste, da gibts leider viele mögliche Ursachen, das ist aus der Ferne schwierig. Die Verkabelung ist ja eomfach, aber sicherheitshalber alles nochmal aus- und wieder einstecken. Hängt sonst noch was am Arduino? Testweise mal nur den DHT11 anhängen, sonst nichts. Könnte es sein dass du deinen DHT11 schon gegrillt hast, das kann ja schon mal vorkommen :) Ist es sicher ein DHT11 und kein DHT22, der sieht nämlich recht ähnlich aus?

      Antworten
  • 15. Januar 2016 um 18:23
    Permalink

    Danke für dein Tutorial. Kannst du ein Schaltplan erstellen? Wäre sehr dankbar. ;-)

    Antworten
  • 12. April 2016 um 14:06
    Permalink

    Hallo, hab`s nachgemacht, funzt alles!!
    Als nächstes wäre cool ein Piepser anzuschließen, der ab z.B. 30 C° periodisch piepst.
    Und dann später könnte man noch andere Sensoren anschließen, die dann ab einem Grenzwert anders piepsen.
    Willst du vielleicht in diese Richtung was machen – kleine Tutorial erstellen?

    Antworten
  • 27. Dezember 2016 um 20:55
    Permalink

    Hallo,
    ich habe das super Video gesehen und wollte es gleich mal porbieren… Alles gemacht wie beschrieben – leider sagt er mir jedoch immer = „dht11 does not name a type“ an. Der Text ist richtig aber den Fehler steuert er die ganze Zeit aus. Hat jemand eine Idee?

    Antworten
    • 27. Dezember 2016 um 21:02
      Permalink

      Die Library für den DHT11 hast du korrekt installiert? Kriegst du im Konsolenfenster noch weitere Fehlermeldungen? Bitte mal alle Zeilen hier posten oder mir mailen, dann kann ich leichter helfen.

      Antworten
  • 28. Dezember 2016 um 16:17
    Permalink

    Hallo, danke für die schnelle Antwort hier mal der „kurze“ Fehlertext:
    Das Problem besteh auch am Mac. DHT11 wurde wie oben beschrieben heruntergeladen, umbenannt und per import als ZIP Bibliothek eingebunden (ohne Fehler).

    Arduino: 1.6.9 (Windows 10), Board: „Arduino/Genuino Uno“
    LCDundTemperatur:4: error: ‚dht11‘ does not name a type
    dht11 DHT11;

    ^
    exit status 1
    ‚dht11‘ does not name a type

    Antworten
    • 8. März 2017 um 23:25
      Permalink

      Das ist mir auch schon passiert und ich habe herausgefunden, dass man die Bibliothek über ‚Sketch/Bibliothek einbinden/DHT sensory library‘ nochmals einbinden muss. Der dadurch im Skript eingetragene Text kriegt dann auch etwas Farbe. Den alten (bleichen) Eintrag kann man dann aus dem Editor entfernen. Nun klappts plötzlich – nervig, nicht wahr!

      Antworten
  • 25. Dezember 2018 um 20:26
    Permalink

    hallo ich habe alles genau so gemacht wie es dort steht aber es funktioniert einfach nicht da steht Dan immer

    compilation terminated.

    exit status 1
    dht11.h: No such file or directory

    Antworten

Schreibe einen Kommentar

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

Time limit is exhausted. Please reload the CAPTCHA.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.