#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <DHT.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define dhtpin 7
#define dhttype 22
DHT dht(dhtpin, dhttype);
int led = 5;
int mtemp = 31;
int joy = A0;
int ldr = A1;
int joybtn = 6;
bool joybtnp = false;
int timer = 0;
int timera = 0;
bool timerwork = false;
byte degree[] = {
B11100,
B10100,
B11100,
B00000,
B00000,
B00000,
B00000,
B00000
};
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
lcd.init();
lcd.backlight();
dht.begin();
pinMode(joybtn, INPUT);
digitalWrite(joybtn, HIGH);
lcd.setCursor(5, 0);
lcd.print("Made By");
lcd.setCursor(6, 1);
lcd.print("Zeyd");
delay(5000);
lcd.clear();
lcd.setCursor(8, 1);
lcd.print("PA");
}
void loop() {
if(timerwork){
timer++;
delay(250);
}
int temp = dht.readTemperature();
int joyvalue = analogRead(joy);
int ldrvalue = analogRead(ldr);
int ldrv = map(ldrvalue, 0, 1023, 100, 0);
lcd.createChar(0, degree);
lcd.home();
lcd.setCursor(0, 0);
lcd.print("Tem");
lcd.setCursor(4, 0);
lcd.print("IDT");
lcd.setCursor(8, 0);
lcd.print("SV");
lcd.setCursor(11, 0);
lcd.print("TM");
lcd.setCursor(15, 0);
lcd.print("I");
lcd.setCursor(0, 1);
lcd.print(temp);
lcd.write(0);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(mtemp);
lcd.write(0);
lcd.print(" ");
lcd.setCursor(11, 1);
lcd.print(timer);
lcd.print(" ");
if(joyvalue == 1023){
mtemp++;
}
else if(joyvalue == 0){
mtemp--;
}
if(digitalRead(joybtn) == LOW && !joybtnp){
joybtnp = true;
lcd.setCursor(8, 1);
lcd.print("AK");
timerwork = true;
digitalWrite(led, HIGH);
}
else if(digitalRead(joybtn) == LOW && joybtnp){
joybtnp = false;
lcd.setCursor(8, 1);
lcd.print("PA");
timerwork = false;
timer = 0;
digitalWrite(led, LOW);
}
if(ldrv > 50 && ldr < 100){
lcd.setCursor(14, 1);
lcd.print("Gu");
}
else{
lcd.setCursor(14, 1);
lcd.print("Ge");
}
if(temp < mtemp){
joybtnp = false;
lcd.setCursor(8, 1);
lcd.print("PA");
timer = 0;
digitalWrite(led, LOW);
}
Serial.println(ldrv);
}