DHT22 - Wet­ter­sta­ti­on Anzei­ge auf einem LCD

Lese­zeit: 4 Minu­ten
Navi­ga­ti­on

Die mit dem Tem­pe­ra­tur­sen­sor DHT22 gemes­se­nen Wer­te sol­len auf einem LCD ange­zeigt wer­den.

LCD

Der Sen­sor DHT22 misst die Tem­pe­ra­tur und die Luft­feuch­tig­keit. Das hier ver­wen­de­te Bau­teil besitzt drei Anschlüs­se.
Die Ver­si­on mit vier Pins muss in der Rei­hen­fol­ge 5V → Daten (Pin) → leer → GND geschal­tet wer­den.

Benö­tig­te Bau­tei­le:

  • Tem­pe­ra­tur­sen­sor DHT22
  • LCD 1602
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

So soll es aus­se­hen:

Benö­tig­te Biblio­the­ken:
Sketch → Biblio­thek ein­bin­den → Biblio­the­ken ver­wal­ten

Im Kopf des Pro­gramms wer­den die benö­tig­ten Biblio­the­ken ein­ge­bun­den und der Sen­sor defi­niert:

# include <SimpleDHT.h> 
# include <LiquidCrystal_I2C.h> 
int SENSOR_DHT22 = 8; 

// Sensor einen Namen zuweisen (dht22) 
SimpleDHT22 dht22(SENSOR_DHT22); 

// LCD einen Namen zuweisen (lcd) 
LiquidCrystal_I2C lcd(0x27, 20, 4);

Im setup-Teil wird das LCD gestar­tet:

void setup() 
{ 
  // LCD einschalten 
  lcd.init(); 
  lcd.backlight();
}

Im loop-Teil wer­den die Varia­blen defi­niert, in denen die gemes­se­nen Wer­te für Tem­pe­ra­tur und Luft­feuch­tig­keit gespei­chert wer­den. Anschlie­ßend wer­den die Mess­wer­te ermit­telt:

void loop()  
{ 
  float Temperatur;   
  float Luftfeuchtigkeit;  
  
  // Daten lesen  
  dht22.read2(&Temperatur, &Luftfeuchtigkeit, NULL);

Die Mess­wer­te ent­hal­ten als Dezi­mal­trenn­zei­chen einen Punkt, er wird mit replace durch ein Kom­ma ersetzt.
Zum Schluss musst du noch mit lcd.setCursor(); und lcd.print(); die Aus­ga­be auf dem LCD erstel­len.

  String AnzeigeTemperatur = String(Temperatur);  
  AnzeigeTemperatur.replace(".", ","); 
  String AnzeigeLuftfeuchtigkeit = String(Luftfeuchtigkeit);   
  AnzeigeLuftfeuchtigkeit.replace(".", ",");   
  . . .
  . . .
}


Ver­wand­te Auf­ga­ben:


Letzte Aktualisierung: 24. Aug 2020 @ 8:17