#include <LiquidCrystal_I2C.h>
#include <dht.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
dht DHt;
#define DHT22_PIN 12
float temp;
float value;
float humi;
const int buttonPin = 8; // Pin, an dem der Knopf angeschlossen ist
int minTemp = 20; // Erste Variable für den Potentiometerwert
int maxTemp = 0; // Zweite Variable für den Potentiometerwert
int currentPotValue = 0; // Variable für den aktuellen Potentiometerwert
bool istMin = false; // Variable zum Umschalten zwischen potValue1 und potValue2
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(1,0);
pinMode(4, OUTPUT); //rot led Pin deklarierung
pinMode(5, OUTPUT); //grün
pinMode(6, OUTPUT); //blau
pinMode(7, OUTPUT);//gelb
pinMode(A0, INPUT);
}
void loop() {
temp=DHt.read22(DHT22_PIN); //Auslesen des Sensors
humi=DHt.humidity;
lcd.setCursor(0,0); //Ausgabe der wichtigen Daten auf dem LCD-Display
lcd.println("Humidity: "+String(humi)+"%"); //Luftfeuchtigkeit ausgabe
lcd.setCursor(1,1);
lcd.println("Max. Temp: "+ String(maxTemp)+"C"); //Temperatur ausgabe
currentPotValue = analogRead(A0); //Auslesen des Potentiometer Wertes
maxTemp = currentPotValue/10+20;
if(DHt.temperature > maxTemp){ //Grundlegende if anweisung für led Beleuchtung
//digitalWrite(4,HIGH);
blinken(4);
}
else if(DHt.temperature < minTemp){
//digitalWrite(6,HIGH);
blinken(6);
}
if(DHt.temperature <= maxTemp &&DHt.temperature>= minTemp){
digitalWrite(5,HIGH);
}
//digitalWrite(4,LOW);
digitalWrite(5,LOW);
//digitalWrite(6,LOW);
}
void blinken(int led){ //Sorgt dafür, dass die LEDs blinken.
int i=0;
while(i<3){
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);
i++;
}
}