DHT11 / DHT22 Temperatursensor – Arduino Sketch

Die im IoT-Bereich am häufigsten verwendeten Temperatur- und Feuchtigkeitssensoren sind DHT11 und DHT22. Aufgrund des geringen Preises sind sie vor allem bei Einsteigern beliebt – aber auch Profis nutzen diese Sensoren für komplexere Projekte.

DHT11 und DHT22 Temperatursensoren unterscheiden sich vor allem im Messbereich und der unterschiedlichen Genauigkeit der Messwerte:

Informationen:

DHT11DHT22
Messwerte:Temperatur, Feuchtigkeit Temperatur, Feuchtigkeit
Messbereich Temperatur:0° bis 50° C.-40° bis 80° C.
Genauigkeit Temperatur:± 2,0 °C± 0,5 °C
Messbereich Feuchtigkeit:20 bis 90 % 0 bis 100 %
Genauigkeit Feuchtigkeit:± 5,0 % RH± 2,0 % RH
benötigte PINs (ohne VCC und GND):11
Betriebsspannung:3 bis 5 V 3 bis 5 V
Messverfahren:digital (One-wire) digital (One-wire)

genutzte Elemente:

Versuchsaufbau:

Arduino DHT11 / DHT22 Verbindungsaufbau
Arduino DHT11 / DHT22 Versuchsaufbau
DHT11 / DHT22Arduino UNO
1 VDD5V
2 Data 10kΩ Widerstand -> Pin 2
3 nicht verbunden
4 GNDGND

Wer sich ein Kabel und den Widerstand sparen möchte, kann alternativ ein DHT22-Modul  nutzen, welches den 10kΩ Widerstand bereits integriert hat.

Alle gezeigten Informationen zum Aufbau oder Pinout sind universell für DHT11 und DHT22 anwendbar.

Auch die vom Arduino genutzte Library arbeitet mit beiden Versionen des Temperatursensors.

DHT22 Pinout
DHT22 Pinout

Sketch / Arduino IDE Code

Für den gezeigten Sketch werden die Bibliotheken „DHT-sensor-library“ und „Adafruit_Sensor“ benötigt. Diese können folgendermaßen installiert werden:

In der Menüleiste der Arduino-IDE auf „Werkzeuge“ und anschließend auf „Bibliotheken verwalten“ klicken. Nun erscheint ein weiteres Fenster mit der Bezeichnung „Bibliotheksverwalter“. Hier können nun die zwei o.g. Bibliotheken (Libraries) gesucht, und mit einem Klick auf „Installieren“ zur Arduino IDE hinzugefügt werden.

#include "DHT.h"          //DHT Bibliothek wird laden
#define DHTPIN 2          //Der Sensor ist an PIN 2 (D2) angeschlossen    
#define DHTTYPE DHT22     //Es handelt sich um den DHT22 Sensor

DHT dht(DHTPIN, DHTTYPE); //Sensor wird mit „dht" initiiert

void setup() {
  Serial.begin(115200);   //Serielle Verbindung starten
  dht.begin();            //DHT Sensor starten
}

void loop() {
  
  delay(2000);            //Zwei Sekunden Vorlaufzeit bis zur ersten und jeder weiteren Messung

  float Luftfeuchtigkeit = dht.readHumidity();  //Luftfeuchtigkeit auslesen
  float Temperatur = dht.readTemperature();     //Temperatur auslesen
  
  Serial.print("Luftfeuchtigkeit: ");           //alle Werte im seriellen Monitor ausgeben 
  Serial.print("44.20");
  Serial.println(" %");
  Serial.print("Temperatur: ");
  Serial.print("25.60");
  Serial.println(" °C.");
}

Die Ausgabe des seriellen Monitor sollte nun folgendes ausgeben:

DHT22 Temperatursensor – Ausgabe serieller Monitor

Mehr zum Thema Arduino

Arduino Kompendium Buch

Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte  – damit ist es möglich auch ohne umfassende Elektronik- und Programmiervorkenntnisse eigene intelligente Arduino-Projekte umzusetzen.

Kommentar hinterlassen

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