Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Bibliotheken
- #include <DHT.h>
- #include <Wire.h>
- #include <LCD.h>
- #include <LiquidCrystal_I2C.h>
- //Konstanten
- #define DHTPIN 4 //Pin an den der DHT22 Daten liefert
- #define DHTTYPE DHT22 // Sensortyp auf DHT 22 (AM2302) definieren
- DHT dht(DHTPIN, DHTTYPE); //// DHT Sensor initialisieren
- //I2C LCD einbinden
- #define I2C_ADDR 0x27 //I2C Adresse des LCDs lautet 0x27 (kann an der I2C Platine angestellt werden)
- #define BACKLIGHT_PIN 3
- #define En_pin 2
- #define Rw_pin 1
- #define Rs_pin 0
- #define D4_pin 4
- #define D5_pin 5
- #define D6_pin 6
- #define D7_pin 7
- LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
- //Variablen
- int sensePin =0; //Variable für ADC
- float feuchte; //Beinhaltet die Feuchtigkeit in %
- float temperatur; //Beinhaltet die Temperatur in °C
- float vorherigeZeit;
- float oeltemp;
- float oeldruck;
- char secline;
- void setup()
- {
- //Serielle Verbindung konfigurieren
- Serial.begin(9600);
- dht.begin();
- lcd.begin(16,2);
- lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
- lcd.setBacklight(HIGH);
- }
- void loop()
- {
- Serial.print("Poti: ");
- Serial.print(analogRead(sensePin)); //ADC einlesen und über serielle Verbindung ausgeben für ADC Testzwecke
- //Daten aus DHT Sensor lesen und in den Variablen "feuchte" sowie "temperatur" ablegen
- feuchte = dht.readHumidity();
- temperatur = dht.readTemperature();
- //Temperatur und Feuchte über serielle Verbindung ausgeben
- Serial.print(" Humidity: ");
- Serial.print(feuchte);
- Serial.print(" %, Temp: ");
- Serial.print(temperatur);
- Serial.println(" Celsius");
- secline="test";
- if (millis()>vorherigeZeit+1000) {
- secline=("ZeileA");
- vorherigeZeit=millis();
- }
- else {
- secline=("ZeileB");
- }
- lcd.clear();
- lcd.setCursor(0,0); //Position im LCD (Horizontal, Vertikal)
- lcd.print("\357ldruck: "); //"\357" ergibt ein "Ö"
- lcd.print("0"); //Öldruck
- lcd.print(" ");
- lcd.print("bar");
- lcd.setCursor(0,1); //Position im LCD (Horizontal, Vertikal)
- lcd.print(secline);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement