DHT11-LCD-Anzeige:
Das LCD ist eine wunderbare Möglichkeit um kurze Text- und Zahlenfolgen anzuzeigen. Hier wird das LCD genutzt, um die Umgebungstemperatur und die Luftfeuchtigkeit einfach zu visualisieren. Um viel Programmierarbeit zu sparen, kann man einfach ein paar Libraries hinzufügen.
///////////////////////////////////*DEFINITIONEN*///////////////////////////////////
/*LCD*/
#include <Wire.h> //Wire Bibliothek wird eingebunden
#include <LiquidCrystal_I2C.h> //LiquidCrystal_I2C Bibliothek wird eingebunden
LiquidCrystal_I2C lcd(0x3F, 16, 2); //Display wird definiert. lcd(HEX-Adresse, Zeichen, Zeilen). (0x3F und 0x27 sind die häufigsten Adressen)
/*DHT 11*/
#include <DHT.h> //DHT11-Bibliothek wird eingebunden
#define DHTPIN 13 //Der DHT11 wird am Pin13 angeschlossen
#define DHTTYPE DHT11 //Hier wird angegeben, dass der verwendete DHT ein DHT11 ist
DHT dht(DHTPIN, DHTTYPE); //Der DHT wird initialisiert
int temp = 0; //Zu Beginn wird die Variable hum auf 0 gesetzt
int hum = 0; //Zu Beginn wird die Variable temp auf 0 gesetzt
///////////////////////////////////*SETUP*///////////////////////////////////
void setup() {
/*LCD*/
lcd.init(); //LCD starten
lcd.backlight(); //Hier wird die Hintergrundbeleuchtung eingeschalten (lcd.noBacklight(); schaltet die Beleuchtung aus)
/*DHT11*/
dht.begin(); //Startet den DHT
}
///////////////////////////////////*LOOP*///////////////////////////////////
void loop() {
/*DHT 11*/
hum = dht.readHumidity(); //Hier wird die Luftfeuchtigkeit aus der Datenmatrix in die Variable hum abgespeichert
temp = dht.readTemperature(); //Hier wird die Temperatur aus der Datenmatrix in die Variable temp abgespeichert
/*LCD*/
lcd.setCursor(0, 0); //Position des Cursors wird gesetzt (oben links)
lcd.print("Temp = "); //Der Text wird ausgehend von der Cursorposition geschrieben usw.
lcd.print(temp);
lcd.print(" 'C");
lcd.setCursor(0, 1); //Position des Cursors wird gesetzt (unten links)
lcd.print("Humidity = "); //Der Text wird ausgehend von der Cursorposition geschrieben usw.
lcd.print(hum);
lcd.print(" %");
}