#include <LCD_I2C.h>
LCD_I2C lcd(0x27, 16, 2);
#define SW0 2
#define SW1 3
#define SW2 4
#define SW3 5
#define led1 7
#define led2 6
#define ADC1 A0
#define ADC1 A1
int menu;
bool PSW0, PSW1, PSW2, PSW3;
int dataP0, dataP1;
int pilihanP;
void setup() {
lcd.begin();
lcd.backlight();
pinMode(SW0, INPUT_PULLUP);
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(SW3, INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
if (menu==0){
lcd.setCursor(0, 0);
lcd.print("ADC 0: ");
lcd.print(analogRead(A0));
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("ADC 1: ");
lcd.print(analogRead(A1));
lcd.print(" ");
if (digitalRead(SW0)==0 && PSW0==0){
lcd.clear();
menu=1;
PSW0=1;
}
if(digitalRead(SW0)==1 && PSW0==1){
PSW0=0;
}
}
if (menu==1){
lcd.setCursor(3, 0);
lcd.print("SET POINT");
lcd.setCursor(0, 1);
lcd.print("P0:");
lcd.print(dataP0);
lcd.print(" ");
lcd.print(" |");
lcd.print(" P1:");
lcd.print(dataP1);
lcd.print(" ");
if (digitalRead(SW0)==0 && PSW0==0){
lcd.clear();
menu=0;
PSW0=1;
}
if(digitalRead(SW0)==1 && PSW0==1){
PSW0=0;
}
if (digitalRead(SW3)==0 && PSW3==0){
pilihanP = !pilihanP;
PSW3=1;
}
if(digitalRead(SW3)==1 && PSW3==1){
PSW3=0;
}
}
if (pilihanP == 0){
if (digitalRead(SW1)==0 && PSW1==0 && dataP0 < 1023){
dataP0++;
PSW1=1;
}
if (digitalRead(SW1)==1 && PSW1==1){
PSW1=0;
}
if (digitalRead(SW2)==0 && PSW2==0 && dataP0 > 0){
dataP0--;
PSW2=1;
}
if (digitalRead(SW2)==1 && PSW2==1){
PSW2=0;
}
}
if (pilihanP == 1){
if (digitalRead(SW1)==0 && PSW1==0 && dataP1 < 1023){
dataP1++;
PSW1=1;
}
if (digitalRead(SW1)==1 && PSW1==1){
PSW1=0;
}
if (digitalRead(SW2)==0 && PSW2==0 && dataP1 > 0){
dataP1--;
PSW2=1;
}
if (digitalRead(SW2)==1 && PSW2==1){
PSW2=0;
}
}
if (analogRead(A0) > dataP0) {
digitalWrite(led1, 1);
}
else {
digitalWrite(led1, 0);
}
if (analogRead(A1) > dataP1) {
digitalWrite(led2, 1);
}
else {
digitalWrite(led2, 0);
}
}