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