Bei­spiel­pro­gramm DHT11/DHT22


Den Sen­sor DHT gibt es in zwei Versionen:

Ver­gleich DHT11/DHT22

DHT11DHT22
Mess­be­reich Temperatur0 - +50°C-40 - +80°C
Auf­lö­sung Temperatur1°C0,1°C
Mess­ge­nau­ig­keit Temperatur± 2 °C± 0,5 °C
Mess­be­reich Luftfeuchtigkeit20 - 90%0 - 100%
Auf­lö­sung Luftfeuchtigkeit1%0,1%
Mess­ge­nau­ig­keit Luftfeuchtigkeit± 5 %± 2 %

Quel­len:

🔗Daten­blatt DHT22 (abge­ru­fen am 19.03.23)
🔗Daten­blatt DHT11 (abge­ru­fen am 19.03.23)

 ➨Ver­gleich Tem­pe­ra­tur-/ Luftfeuchtigkeitssensoren

Pin­be­le­gung:

DHT11
GND D8 5V

DHT22
5V D8 GND

Bei­spie­le für DHT11/DHT22 Sen­so­ren.
Die Pin­be­le­gung kann sich von der hier gezeig­ten unter­schei­den. Ach­te auf die Beschriftung!

Der Seri­el­le Moni­tor zeigt Tem­pe­ra­tur und Luft­feuch­tig­keit an

So sieht es aus:

Zunächst musst du eine Biblio­thek installieren:

Das Pro­gramm:

# include "DHT.h"

int SENSOR_DHT = D5;

// Sensortyp festlegen
// DHT22
// # define SensorTyp DHT22 

// DHT11
# define SensorTyp DHT22

// Sensor einen Namen zuweisen
DHT dht(SENSOR_DHT, SensorTyp); 

void setup() 
{
  Serial.begin(9600);
  
  // Sensor starten
  dht.begin();
}

void loop() 
{
  // Temperatur lesen 
  String Temperatur = String(dht.readTemperature());

  // replace -> . durch , ersetzen
  Temperatur.replace(".", ",");

  // Luftfeuchtigkeit lesen 
  String Luftfeuchtigkeit = String(dht.readHumidity());

  // replace -> . durch , ersetzen
  Luftfeuchtigkeit.replace(".", ",");

  // Anzeige im Seriellen Monitor
  // \u00b0 = °
  Serial.println("Temperatur: " + Temperatur + " \u00b0C");
  Serial.println("Luftfeuchtigkeit: " + Luftfeuchtigkeit + " %");

  delay(2000);
}

letz­te Aktua­li­sie­rung: 2. Okt 2024 @ 10:59