Messdaten DHT auf LCD anzeigen



Seite als PDF

Ziel des Projekts

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

Die Hardware

LCD

Das LCD wird über die Pins SDA und SCL ver­bun­den.

Die Hel­lig­keit kann mit einem Poten­tio­me­ter auf der Rück­sei­te des LCDs ein­ge­stellt wer­den.

DHT-Sensor

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 Beschrif­tung des Sen­sors!

Benötigte Bauteile

  • Tem­pe­ra­tur­sen­sor DHT11/DHT22
  • 4-zei­li­ges LCD mit I²C-Schnitt­stel­le
  • Lei­tungs­dräh­te

Der Schaltplan

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

Benötigte Bibliotheken

Das Programm

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 “DHT.h”
#include “LCDIC2.h”
 
// Pin des DHT-Sensors
int SENSOR_DHT = 7;
 
// Sensortyp festlegen
// DHT22 oder DHT11
#define SensorTyp DHT22
 
// Sensor DHT einen Namen zuweisen
DHT dht(SENSOR_DHT, SensorTyp);
 
// LCD einen Namen zuweisen (lcd)
LCDIC2 lcd(0x27, 20, 4);

Im set­up-Teil wird das LCD gestar­tet:

void setup() 
{ 
  // LCD einschalten 
  lcd.begin(); 

  // Cursor "verstecken"
  lcd.setCursor(false);

  // Sensor DHT starten
  dht.begin();
}

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.
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.

void loop()  
{ 
  // Daten lesen
  float Temperatur = dht.readTemperature();
  float Luftfeuchtigkeit = dht.readHumidity();

  // . durch , ersetzen
  String AnzeigeTemperatur = String(Temperatur);  
  AnzeigeTemperatur.replace(".", ","); 
  String AnzeigeLuftfeuchtigkeit = String(Luftfeuchtigkeit);   
  AnzeigeLuftfeuchtigkeit.replace(".", ",");   

  // Anzeige LCD
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temperatur: ");
  lcd.setCursor(0, 1);

  // \337  -> °
  lcd.print(AnzeigeTemperatur + " \337C");
  
  lcd.setCursor(0, 2);
  lcd.print("Luftfeuchtigkeit: ");
  lcd.setCursor(0, 3);
  lcd.print(AnzeigeLuftfeuchtigkeit + " %");

  // mindestens 2 Sekunden Pause
  delay(2500);
}

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ähnliche Projekte:

letz­te Aktua­li­sie­rung: Dez. 13, 2025 @ 15:31

Inhalt