/* Sketch for Tutorial 14
Author: Maximilian Hentsch
Sketch zu Arduino Tutorial 14 - Displaymenü
https://www.youtube.com/watch?v=DuAG98P9Seo
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int upButton = 26;
int downButton = 32;
int selectButton = 33;
int backButton = 27;
int menu = 1;
int menusetting = 5;
int suhuC=0;
int mL =0;
int waktu =0;
boolean isSettingMode = false;
void setup() {
Serial.begin(115200);
Wire.begin(); // start I2C library
lcd.init(); // initialize the LCD
lcd.backlight(); // turn on backlight
pinMode(upButton, INPUT_PULLUP);
pinMode(downButton, INPUT_PULLUP);
pinMode(selectButton, INPUT_PULLUP);
pinMode(backButton, INPUT_PULLUP);
updateMenu();
updatemenusetting();
}
void loop() {
if (!digitalRead(downButton)){
menu++;
menusetting++;
updateMenu();
updatemenusetting();
delay(100);
while (!digitalRead(downButton));
}
if (!digitalRead(upButton)){
menu--;
menusetting--;
updateMenu();
updatemenusetting();
delay(100);
while(!digitalRead(upButton));
}
if (!digitalRead(selectButton)){
if (isSettingMode) {
isSettingMode = false;
updateMenu();
} else {
isSettingMode = true;
updatemenusetting();
}
delay(100);
while (!digitalRead(selectButton));
}
if (!digitalRead(backButton)){
updateMenu();
updatemenusetting();
delay(100);
while (!digitalRead(backButton));
}
}
void updateMenu() {
if (menu < 1) {
menu = 1;
} else if(menu > 4) {
menu = 4;
}
lcd.clear();
lcd.setCursor(0, 0);
if (menu == 1) {
lcd.print(">UAC COFFE");
lcd.setCursor(0, 1);
lcd.print(" Setting");
lcd.setCursor(0, 2);
lcd.print (" Check");
lcd.setCursor(0, 3);
lcd.print (" Ready?");
} else if (menu == 2) {
lcd.print(" UAC COFFE");
lcd.setCursor(0, 1);
lcd.print(">Setting");
lcd.setCursor(0, 2);
lcd.print (" Check");
lcd.setCursor(0, 3);
lcd.print (" Ready?");
} else if (menu == 3) {
lcd.print(" UAC COFFE");
lcd.setCursor(0, 1);
lcd.print(" Setting");
lcd.setCursor(0, 2);
lcd.print (">Check");
lcd.setCursor(0, 3);
lcd.print (" Ready?");
} else if (menu == 4) {
lcd.print(" UAC COFFE");
lcd.setCursor(0, 1);
lcd.print(" Setting");
lcd.setCursor(0, 2);
lcd.print (" Check");
lcd.setCursor(0, 3);
lcd.print (">Ready?");
}
}
void updatemenusetting() {
if (isSettingMode) {
if (menusetting < 5) {
menusetting = 5;
} else if(menusetting> 7) {
menusetting = 7;
}
lcd.clear();
lcd.setCursor(0, 0);
if (menusetting == 5) {
lcd.print(">suhuC");
lcd.setCursor(0, 1);
lcd.print(" mL");
lcd.setCursor(0, 2);
lcd.print (" waktu");
} else if (menusetting == 6) {
lcd.print(" suhuC");
lcd.setCursor(0, 1);
lcd.print(">mL");
lcd.setCursor(0, 2);
lcd.print (" waktu");
} else if (menusetting == 7) {
lcd.print(" suhuC");
lcd.setCursor(0, 1);
lcd.print(" mL");
lcd.setCursor(0, 2);
lcd.print (">waktu");
}
}
}
// void executeAction() {
// lcd.clear();
// lcd.setCursor(0, 0);
// if (menu == 1) {
// action1();
// } else if (menu == 2) {
// action2();
// } else if (menu == 3) {
// action3();
// } else if (menu == 4) {
// action4();
// }
// }
// void action1() {
// lcd.clear();
// lcd.print(">Executing #1");
// delay(1500);
// }
// void action2() {
// lcd.clear();
// lcd.print("suhuC");
// lcd.setCursor(0, 1);
// lcd.print(" Waktu");
// lcd.setCursor(0, 2);
// lcd.print(" mL");
// delay(15000);
// }
// void action3() {
// lcd.clear();
// lcd.print(">Executing #3");
// delay(1500);
// }
// void action4() {
// lcd.clear();
// lcd.print(">Executing #4");
// delay(1500);
// }