#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// C++ code
//
void displayTemp();
int setTemp(int num);
int setTime(int number);
int inputValue(int num);
const int input8 = 13;
const int input4 = 12;
const int input2 = 11;
const int input1 = 10;
int inputState8 = 0;
int inputState4 = 0;
int inputState2 = 0;
int inputState1 = 0;
int counter = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.begin(16,2);
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(input8,INPUT);
pinMode(input4,INPUT);
pinMode(input2,INPUT);
pinMode(input1,INPUT);
}
void loop()
{
inputState8 = digitalRead(input8);
inputState4 = digitalRead(input4);
inputState2 = digitalRead(input2);
inputState1 = digitalRead(input1);
int num;
int time = 0;
if(inputState8==LOW && inputState4==LOW && inputState2==LOW && inputState1==HIGH)
{num = 0;}
else if(inputState8==LOW && inputState4==LOW && inputState2==HIGH && inputState1==LOW)
{num = 1;}
else if(inputState8==LOW && inputState4==LOW && inputState2==HIGH && inputState1==HIGH)
{num = 2;}
else if(inputState8==LOW && inputState4==HIGH && inputState2==LOW && inputState1==LOW)
{num = 3;}
else if(inputState8==LOW && inputState4==HIGH && inputState2==LOW && inputState1==HIGH)
{num = 4;}
else if(inputState8==LOW && inputState4==HIGH && inputState2==HIGH && inputState1==LOW)
{num = 5;}
else if(inputState8==LOW && inputState4==HIGH && inputState2==HIGH && inputState1==HIGH)
{num = 6;}
else if(inputState8==HIGH && inputState4==LOW && inputState2==LOW && inputState1==LOW)
{num = 7;}
else if(inputState8==HIGH && inputState4==LOW && inputState2==LOW && inputState1==HIGH)
{num = 8;}
else if(inputState8==HIGH && inputState4==LOW && inputState2==HIGH && inputState1==LOW)
{num = 9;}
else if(inputState8==HIGH && inputState4==LOW && inputState2==HIGH && inputState1==HIGH)
{num = 10;}//decimal
else if(inputState8==HIGH && inputState4==HIGH && inputState2==LOW && inputState1==LOW)
{num = 11;}//mode
if(num==11)
{counter=counter + 1;}
if(counter==1)
{displayTemp();
delay(300);}
if(counter==2)
{setTemp(num);
delay(300);}
if(counter==3)
{setTime(num);
delay(300);}
if(counter>3)
{counter = 0;}
Serial.print(counter);
Serial.println();
}
void displayTemp()
{lcd.clear();
lcd.noCursor();
lcd.setCursor(0,0);
lcd.print("Temp:");
lcd.setCursor(0,1);
lcd.print("Humid:");
delay(300);}
int setTemp(int num)
{lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Temp");
lcd.cursor();
delay(5000);
lcd.setCursor(0,1);
int arr1;
int arr2;
int arr3;
int arr4;
int res;
lcd.print("-");
arr1=num;
lcd.print(arr1);
delay(5000);
lcd.print("-");
arr2=num;
lcd.print(arr2);
delay(5000);
lcd.print("-");
arr3=num;
lcd.print(arr3);
delay(5000);
lcd.print("-");
arr4=num;
lcd.print(arr4);
delay(5000);
res = (arr1*1000 + arr2*100 + arr3*10 + arr4)/100.0;
char resStr[7];
dtostrf(res,5,2,resStr);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Temp");
lcd.setCursor(0,1);
lcd.print(resStr);
delay(3000);
}
int setTime(int number)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Set Time: ");
delay(300);
int num = 0;
// if(num==1)
// {lcd.setCursor(1,1);
// lcd.print("Hour(s): ");
// lcd.print(1);
// number = 1;}
//
int ar[3];
lcd.setCursor(0,1);
for(int i = 0 ; i < 4 ; i++)
{
ar[i]=num;
lcd.print(ar[i]);
if (i==1){
lcd.print(":");
}
}
}