DHT11 und DHT22 – Temperatur und Luftfeuchtigkeit messen

FunduinoZuletzt aktualisiert am

Zwei Sensoren im Vergleich – Messbereiche, Verkabelung und Sketch

DHT11 Temperatur- und Luftfeuchtigkeitssensor am Arduino Mikrocontroller

Mit den Sensoren DHT11 und DHT22 misst du am Arduino Luftfeuchtigkeit und Temperatur. Die Messwerte kannst du dir über den seriellen Monitor oder ein LCD anzeigen lassen. Der DHT11 misst Luftfeuchtigkeit von etwa 20 bis 80 % (5 % Genauigkeit) und Temperatur von etwa 0 bis 50 °C (etwa 2 °C Genauigkeit).

Aufgabe: Miss Luftfeuchtigkeit und Temperatur mit dem DHT11 und lass sie dir auf dem seriellen Monitor anzeigen.

Der Schaltplan (DHT11 am Arduino UNO)

In unserem Beispiel sind die vier Kontakte des DHT11 auf einer kleinen Platine zu drei Kontakten zusammengeführt. Für DHT11-Sensoren ohne diese Platine übernimmst du die Verkabelung aus dem Abschnitt zum DHT22.

Mit Blick auf die Vorderseite des DHT11 verbindest du den linken Kontakt mit Pin 2, den mittleren mit 5V und den rechten mit GND am Mikrocontroller.

Schaltplan: DHT11-Sensor an Pin 2 des Arduino UNO
DHT11-Sensor am Funduino UNO R3 (alte Version)

Der Programmcode (DHT11 am Arduino UNO)

Für den Code brauchst du die DHT-sensor-library von Adafruit. Du findest sie über die Funktion „Bibliothek einbinden“ in der Arduino-Software.

Öffnest du danach den seriellen Monitor, zeigt er die Messwerte nacheinander an.

Für den DHT11 brauchst du zwei Bibliotheken: DHT-sensor-library und Adafruit_Sensor, beide von Adafruit auf GitHub.

DHT11 am Arduino UNO
#include <DHT.h>
DHT dht(2, DHT11); // DHT11 an Pin 2
void setup() {
  Serial.begin(9600);
  dht.begin();
}
void loop() {
  float t = dht.readTemperature(); // Temperatur lesen
  Serial.print("Temperatur: ");
  Serial.print(t);
  Serial.println(" °C");
  delay(2000); // 2 Sekunden Pause
}

Der DHT22 am Arduino Mikrocontroller

Auch mit dem DHT22 kannst du Luftfeuchtigkeit und Temperatur messen. Dieser Sensor ist etwas genauer und hat größere Messbereiche: Luftfeuchtigkeit von 0 bis 100 % (2 bis 5 % Genauigkeit), Temperatur von -40 bis 125 °C (0,5 °C Genauigkeit).

Aufgabe: Miss Luftfeuchtigkeit und Temperatur mit dem DHT22 und lass sie dir auf dem seriellen Monitor anzeigen.

Die Verkabelung (DHT22 am Arduino UNO)

Zwischen 5V und den Datenpin gehört ein Widerstand von 10 kΩ. Achtung: In der Materialliste steht 1 kΩ – einer der beiden Werte ist falsch, bitte vor der Veröffentlichung klären.

Schaltskizze: DHT22-Sensor mit Pull-up-Widerstand am Arduino UNO
Verkabelung des DHT22 am Arduino UNO

Der Programmcode (DHT22 am Arduino UNO)

Auch hier brauchst du die DHT-sensor-library von Adafruit. Du findest sie über die Funktion „Bibliothek einbinden“ in der Arduino-Software.

Für den DHT22 brauchst du dieselben zwei Bibliotheken wie für den DHT11.

DHT22 am Arduino UNO
#include <DHT.h> // DHT-Bibliothek einbinden
#define DHTPIN 2     // Datenpin des DHT22 an Pin D2
#define DHTTYPE DHT22 // Sensor-Typ: DHT22
DHT dht(DHTPIN, DHTTYPE); // Sensor-Objekt erstellen
void setup() {
  Serial.begin(9600);    // Serielle Schnittstelle starten
  dht.begin();           // DHT-Sensor starten
  Serial.println("Starte Messung mit DHT22…");
}
void loop() {
  delay(2000); // 2 Sekunden warten (empfohlen für DHT22)
  float temperatur = dht.readTemperature(); // Temperatur lesen (in °C)
  Serial.print("Temperatur: ");
  Serial.print(temperatur); // Wert ausgeben
  Serial.println(" °C");    // Einheit ergänzen
}
Anleitung bewerten

Kommentare

Frage stellen oder Erfahrung teilen

Schreib uns, wenn etwas nicht funktioniert. Nenne dabei dein Board und die Fehlermeldung.

Wir prüfen jeden Kommentar vor der Veröffentlichung. Deine E-Mail-Adresse bleibt bei uns.