#include <LiquidCrystal_I2C.h>
#include <dht.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
dht DHt;
#define DHT22_PIN 12
float temp;
float value;
const int buttonPin = 8; // Pin, an dem der Knopf angeschlossen ist
int minTemp = 0; // 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(buttonPin, INPUT_PULLUP); //deklarierung des knopfes
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
lcd.setCursor(0,0);
lcd.print(minTemp);
lcd.setCursor(1,1);
lcd.print(maxTemp);
// Wenn der Knopf gedrückt wird, ändere den Status der switchVar
if (digitalRead(buttonPin) == LOW) {
delay(50); // Entprellzeit
istMin = !istMin;
}
// Lese den Potentiometerwert abhängig von switchVar
if (istMin) {
currentPotValue = analogRead(A0);
minTemp = currentPotValue/10;
if(minTemp!=0)
minTemp+=20;
} else {
currentPotValue = analogRead(A0);
maxTemp = currentPotValue/10+20;
}
if(DHt.temperature > maxTemp){ //Grundlegende if anweisung für led Beleuchtung
digitalWrite(4,HIGH);
}
else if(DHt.temperature < minTemp){
digitalWrite(6,HIGH);
}
if(DHt.temperature <= maxTemp &&DHt.temperature>= minTemp){
digitalWrite(5,HIGH);
}
if(istMin==true){
digitalWrite(7,LOW);
lcd.clear();
}
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
if(istMin==false)
digitalWrite(7,HIGH);
}