#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define TASTER 9
#define LED_Bl 8
#define DHTPIN 2
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
int Interval = 1000;
unsigned long altezeit = millis();
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(9, INPUT_PULLUP);
dht.begin();
lcd.begin(16, 2);
}
void loop() {
float sensortemp = 0.0;
digitalWrite(LED_Bl, schalter());
if(digitalRead(LED_Bl) == HIGH) {
if(millis() - altezeit >= Interval){
sensortemp = dht.readTemperature();
altezeit = millis();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Temperatur: ");
lcd.setCursor(0,5);
lcd.print(sensortemp);
}
}
else{
lcd.noBacklight();
lcd.clear();
}
}
bool schalter(){
bool static status = LOW;
bool static Flankenmerker = LOW;
if(digitalRead(TASTER) == LOW && Flankenmerker == LOW){
Flankenmerker = HIGH;
status = !status;
Serial.print("Status: ");
if( status == HIGH) Serial.println("An");
else Serial.println("Aus");
delay(20);
}
if(digitalRead(TASTER) == HIGH ){
Flankenmerker = LOW;
delay(20);
}
return status;
}