#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int temp = A0;
int joyX = A2;
int joyY = A3;
int joyZ = 7;
int D13 = 13;
int ldr=A4;
LiquidCrystal_I2C lcd(0x27, 16, 2);
int adcVal;
int idt = 30;
bool soba = false;
int time;
void setup() {
lcd.init();
lcd.backlight();
pinMode(temp, INPUT);
pinMode(joyX, INPUT);
pinMode(joyY, INPUT);
pinMode(joyZ, INPUT_PULLUP);
pinMode(D13, OUTPUT);
pinMode(ldr, INPUT_PULLUP);
lcd.setCursor(0, 0);
lcd.print("MADE IN TEXNOLAB");
delay(2000);
lcd.clear();
}
void loop() {
adcVal = analogRead(temp);
float v = adcVal * 5.0 / 1024;
float Rt = 10 * v / (5 - v);
float tempK = 1 / (log(Rt / 10) / 3950 + 1 / (273.15 + 25));
int tempC = tempK - 273.15;
int xval = analogRead(joyX);
int zval = digitalRead(joyZ);
if(tempC>idt){
digitalWrite(D13, LOW);
soba=false;
}
else if(tempC<=idt){
digitalWrite(D13, HIGH);
soba=true;
}
else {
digitalWrite(D13,LOW);
soba=false;
}
if(tempC>idt) {
time=0;
lcd.setCursor(11,1);
lcd.print(000);
}
if (xval < 400) {
idt++;
delay(300);
}
else if (xval > 600) {
idt--;
delay(300);
}
lcd.setCursor(0, 0); lcd.print("TEM");
lcd.setCursor(0, 1); lcd.print(tempC); lcd.print((char)223);
lcd.setCursor(4, 0); lcd.print("IDT");
lcd.setCursor(4, 1); lcd.print(idt); lcd.print((char)223);
lcd.setCursor(8, 0); lcd.print("SV");
if (soba) {
lcd.setCursor(8, 1); lcd.print("AK ");
} else {
lcd.setCursor(8, 1); lcd.print("PS ");
}
lcd.setCursor(11, 0); lcd.print("TM");
lcd.setCursor(11, 1);lcd.print("000");
lcd.setCursor(11, 0); lcd.print("TM");
lcd.setCursor(11, 0); lcd.print("TM");
lcd.setCursor(11, 1);lcd.print("000");
if(zval==1 || D13==1){
if(time<10){
lcd.setCursor(13,1);
lcd.print(time);
time++;
delay(100);
}
else if(10<=time<100){
lcd.setCursor(12,1);
lcd.print(time);
time++;
delay(100);
}
else if(time>=100){
lcd.setCursor(11,1);
lcd.print(time);
time++;
delay(100);
}
}
delay(500);
int ldrVal=analogRead(ldr);
lcd.setCursor(15,0);lcd.print("I");
if(ldrVal<500){
lcd.setCursor(15,1);lcd.print("G");
}
else{
lcd.setCursor(15,1);lcd.print("Q");
}
}