#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20, 16, 2);
#define ok digitalRead(5)==1
#define down digitalRead(4)==1
#define atas digitalRead(3)==1
#define cancel digitalRead(2)==0
char state;
byte hitung;
void setup(){
pinMode (5, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP); //SELAMAT DATANG ICHIRO
pinMode (2, INPUT_PULLUP);
lcd.init();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Selamat Datang");
lcd.setCursor(0,1);
lcd.print("ICHIRO");
delay(500);
lcd.clear();
}
void loop() {
switch (state){
case 0:
lcd.setCursor(1,0); // >speed
lcd.print("Speed"); // menu
lcd.setCursor(0,1);
lcd.print("ADC");
lcd.setCursor(7,0);
lcd.print("PID");
lcd.setCursor(7,1);
lcd.print("Kalibrasi");
lcd.setCursor(0,0);
lcd.print(">");
if (down){
lcd.clear();
state=1;
delay(100);
}
if (ok){
lcd.clear();
state=2;
delay(100);
}
break;
case 1:
lcd.setCursor(0,0); // speed
lcd.print("Speed"); // >menu
lcd.setCursor(1,1);
lcd.print("ADC");
lcd.setCursor(0,1);
lcd.setCursor(7,0); // >speed
lcd.print("PID"); // menu
lcd.setCursor(7,1);
lcd.print("Kalibrasi");
lcd.setCursor(0,4);
lcd.print(">");
if (atas){
lcd.clear();
state=0;
delay(100);
}
break;
case 2:
lcd.setCursor(0,0);
lcd.print("Hitung = ");
lcd.setCursor(11,0);
lcd.print(hitung);
break;
}
}