

Die mit dem Temperatursensor DHT22 gemessenen Werte sollen auf einem LCD angezeigt werden.
So sieht es aus:
Schließe das LCD an:


➨LCD
Normalerweise wäre eine komplexe Verkabelung zum Betrieb eines LCDs nötig. Der ➨I2C-Bus regelt über einen eigenen Mikroprozessor die Kommunikation der Datenleitungen untereinander. Es werden deshalb nur vier Anschlüsse benötigt.

Die Helligkeit kann mit einem Potentiometer auf der Rückseite des LCDs eingestellt werden.

Der Sensor DHT22 misst die Temperatur und die Luftfeuchtigkeit. Das hier verwendete Bauteil besitzt drei Anschlüsse.
Die Version mit vier Pins muss in der Reihenfolge 5V → Daten (Pin) → leer → GND geschaltet werden.
Benötigte Bauteile:
- Temperatursensor DHT22
- LCD 1602
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Benötigte Bibliotheken:
Arduino IDE 1.8x:
Sketch → Bibliothek einbinden → Bibliotheken verwalten


Arduino IDE 2.x:
Im Kopf des Programms werden die benötigten Bibliotheken eingebunden und der Sensor definiert:
# include <SimpleDHT.h>
# include <LiquidCrystal_I2C.h>
int SENSOR_DHT22 = 7;
// 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 gestartet:
void setup()
{
// LCD einschalten
lcd.init();
lcd.backlight();
}
Im loop-Teil werden die Variablen definiert, in denen die gemessenen Werte für Temperatur und Luftfeuchtigkeit gespeichert werden. Anschließend werden die Messwerte ermittelt:
void loop()
{
float Temperatur;
float Luftfeuchtigkeit;
// Daten lesen
dht22.read2(&Temperatur, &Luftfeuchtigkeit, NULL);
Die Messwerte enthalten als Dezimaltrennzeichen einen Punkt, er wird mit replace durch ein Komma ersetzt.
Zum Schluss musst du noch mit lcd.setCursor(); und lcd.print(); die Ausgabe auf dem LCD erstellen.
// . duch , 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);
lcd.print(AnzeigeTemperatur + " °C");
lcd.setCursor(0, 2);
lcd.print("Luftfeuchtigkeit: ");
lcd.setCursor(0, 3);
lcd.print(AnzeigeLuftfeuchtigkeit + " %");
// mindestens 2 Sekunden Pause
delay(2500);
}
Verwandte Aufgaben:
- BMP280 - Klimaanlage mit Zeitmessung
- DHT22 - Durchschnittstemperatur berechnen und auf einem OLED-Display anzeigen
- DHT22 - Klimaanlage
- DHT22 - Wetterdaten aufzeichnen
- DHT22 - Wetterdaten mit Bluetooth-Modul übermitteln
- DHT22 - Wetterstation LAN
- DHT22 - Wetterstation WiFi
- BMP280 - Temperatur und Luftdruck messen
- TMP36 - Temperatur messen
- DHT22 - Wetterstation LAN Daten speichern
Letzte Aktualisierung: