Temperatur und Luftfeuchtigkeit messen

Im folgenden Artikel möchte ich zeigen, wie einfach man mit dem DHT11 oder DHT22 Sensor die Temperatur oder Luftfeuchtigkeit messen kann.

Die Sensoren DHT11 und DHT22 bieten die Möglichkeit mit dem ESP8266-Modul die Luftfeuchtigkeit und Temperatur zu messen. Die Messwerte können dann z.B. über den serielle Schnittstelle oder ein Display angezeigt werden. Der Unterschied der beiden Sensoren liegt in der Präzision und Haltbarkeit. Der DHT22 ist genauer und verfügt über ein breiteres Messspektrum als der DHT11. Ich würde für einfache Anwendungen den DHT22 empfehlen.

Im ersten Schritt hier die Liste der verwendeten Materialen:

Im nächsten Schritt bauen wir die Schaltung auf. In meinem Beispiel habe ich den DHT11-Datenanschluss an D3 und den DHT22-Datenanschluss an D2 angeschlossen. Der linke Pin wird an die 3V3 Leiste, der rechte an die GND Leiste angeschlossen.

Im nächsten Schritt müssen wir folgende Bibliotheken in der ArduinoIDE installieren:

  • https://github.com/adafruit/DHT-sensor-library
  • https://github.com/adafruit/Adafruit_Sensor

Als Sketch verwenden wir folgenden Code:


#include "DHT.h"

#define DHT11PIN D3
#define DHT22PIN D2
DHT dht11(DHT11PIN, DHT11);
DHT dht22(DHT22PIN, DHT22);

void setup() {
Serial.begin(115200);
delay(10);

dht11.begin();
dht22.begin();
}

void loop() {

delay(2000);

float tempValue11 = dht11.readTemperature();
float humidityValue11 = dht11.readHumidity();

delay(2000);

float tempValue22 = dht22.readTemperature();
float humidityValue22 = dht22.readHumidity();

Serial.println("DHT11 Sensorwerte");
Serial.print("Luftfeuchtigkeit: "); //Im seriellen Monitor den Text und
Serial.print(humidityValue11); //die Dazugehörigen Werte anzeigen
Serial.println(" %");
Serial.print("Temperatur: ");
Serial.print(tempValue11);
Serial.println(" Grad Celsius");

Serial.println("DHT22 Sensorwerte");
Serial.print("Luftfeuchtigkeit: "); //Im seriellen Monitor den Text und
Serial.print(humidityValue22); //die Dazugehörigen Werte anzeigen
Serial.println(" %");
Serial.print("Temperatur: ");
Serial.print(tempValue22);
Serial.println(" Grad Celsius");

delay(5000);
}

 

Im seriellen Monitor erhalten wir nun folgende Ausgaben der beiden Sensoren:

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Ein Gedanke zu „Temperatur und Luftfeuchtigkeit messen

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere