/* 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);
// }
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
uno1:VIN
uno1:GND.2
uno1:D13
uno1:D12
uno1:D14
uno1:D27
uno1:D26
uno1:D25
uno1:D33
uno1:D32
uno1:D35
uno1:D34
uno1:VN
uno1:VP
uno1:EN
uno1:3V3
uno1:GND.1
uno1:D15
uno1:D2
uno1:D4
uno1:RX2
uno1:TX2
uno1:D5
uno1:D18
uno1:D19
uno1:D21
uno1:RX0
uno1:TX0
uno1:D22
uno1:D23
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r