Arduino Lektion 6: Sensor DHT11, Temperatur und relative Luftfeuchtigkeit messen

Mit dem Sensor DHT11 kann man die Temperatur sowie die relative Luftfeuchtigkeit messen und das ganze mit nur einem Sensor.
Diesen Sensor habe ich über Amazon.de bezogen, dorft findet man verschiedene Model welche jedoch baugleich sind. Wer etwas mehr zeit investiert kann wie gerne auf das Model aus Singapur zurückgreifen. Der Preis ist hier sehr niedrig nur leider die Lieferzeit mit 3 Wochen extrem hoch.

DHT11 Sensor
DHT11 Sensor zum messen von Temperatur und der relativen Luftfeuchtigkeit

Technische Daten des Sensors DHT11

  • 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

Wer hier etwas mehr Investiert und auf das Model DHT22 umsteigt kann mit verbesserten Werten arbeiten.
Technische Daten des Sensors DHT22:

  • Messbereich der relativen Luftfeuchtigkeit 0% bis 100%
  • Messbereich der Temperatur -40°C bis 80°C

Die Schaltung

Hier nun die kurze Schaltung für den DHT11 Sensor.

DHT11 Sensor
Anschluss des DHT11 Sensors.

Zu beachten ist das die Schaltung aus der Lektion5 über den analogen PIN erfolgt und der DHT11 über einen digitalen PIN angesteuert wird.

Der Quellcode

Für den Betrieb des DHT11 Sensors am Sainsmart Mega2560 wird die DHTLibrary benötigt welche aus dem GitHub Repository von Rob Tilaart geladen werden kann.

#include <dht.h> // DHT Library von Arduino

dht DHT; // Zuweisen eines Objektes zur Bibliothek

int sensorPin = 13 ;// Bestimmen das der Sensor DHT11 an den PWM PIN 13 angeschlossen ist.
void setup() { 
  Serial.begin(115200);  // Verbindungsgeschwindigkeit (Baudrate) auf 115200 setzen. Dieses muss mit der Übertragungsrate im Serial Monitor übereinstimmen.
} 

void loop() {
  int chk = DHT.read11(sensorPin); //Status holen
  switch (chk)
  {
    //Wenn alles OK ist.
    case DHTLIB_OK:  
                break;
    //Bei einem Checksummenfehler
    case DHTLIB_ERROR_CHECKSUM: 
                Serial.print("Checksummenfehler"); 
                break;
    //Bei einer Zeitüberschreitung der Anforderung.
    case DHTLIB_ERROR_TIMEOUT: 
                Serial.print("Zeitüberschreitung"); 
                break;
    default: 
                break;
  }

  //Werte ausgeben
  Serial.print("Temperatur: ");
  Serial.print(DHT.temperature, 1); //Die Temperatur auslesen.
  Serial.println("C");
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(DHT.humidity, 1);  // Die Luftfeuchtigkeit auslesen.
  Serial.println("%");
  Serial.println("");

  //Eine Pause von 2sek. der Sensor DHT11 stellt alle 2sek neue Werte zur Verfügung daher 
  //ist ein Wert < 2sek. nicht möglich bzw. unnötig.
  delay(2000);  
}

Das Video

Wie bei der Schaltung mit dem einfachen Temperatursensor ist hier auch nur ein Bild des Aufbaues denn das eigentlich interessante erscheint am Monitor.

DHT11 Sensor
Angeschlossener DHT11 Sensor am Mega2560
Temperatursensor DHT11 am Saintsmart Mega2360

 

Hier der Quellcode zum Download

5 Gedanken zu „Arduino Lektion 6: Sensor DHT11, Temperatur und relative Luftfeuchtigkeit messen

  • Pingback:Wemos D1 mini Shield: DHT11 Sensor - Technik Blog

  • Pingback:Arduino Lektion 42: TM1638 LED Taster Shield - Technik Blog

  • Pingback:Arduino Lektion 57: Multifunktionales Shield (Teil2) - Technik Blog

  • September 27, 2018 um 21:14
    Permalink

    Hallo, ich kann kaum auf Deinen Photos kaum erkennen was wohin,
    mein Tip Du solltest Fritzing Diagramme nutzen.
    Hier ne kleine Info :
    „Fritzing ist eine Software, mit der man leicht und unkompliziert Aufbaupläne vor allem für Steckboard-Projekte erstellen kann. Viele verschiedene Arduino Controller aber auch Raspberry Pi und andere Boards weden schon in der Software unterstütz und erleichern so den Nutzern, einen übersichtlichen Plan zu erstellen. Dadurch fällt es einem selbst und auch anderen Nutzern leicht, das Projekt nachzuvollziehen und nachzubauen“.
    Lieben Gruss Arkadius

    Antwort
    • September 27, 2018 um 21:33
      Permalink

      Hallo Arkadius,

      danke für dein Kommentar. Ich habe das schon frühzeitig gemerkt und in den nachfolgenden Tutorials eingebunden.

      Gruß,

      Stefan Draeger

      Antwort

Schreibe einen Kommentar

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