#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD biasanya adalah 0x27
int menuLevel = 0; // Level menu
int submenuIndex = 0; // Indeks submenu
int submenuCount = 2; // Jumlah submenu dalam setiap menu
String menuOptions[2][2] = {{"Main Measure", "Printing"}, {"Input Candela", "Adjusting"}};
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Menu Utama");
displayMenu();
// Konfigurasi pin tombol
pinMode(2, INPUT_PULLUP); // Tombol Exit
pinMode(3, INPUT_PULLUP); // Tombol Enter
pinMode(4, INPUT_PULLUP); // Tombol Up
pinMode(5, INPUT_PULLUP); // Tombol Down
}
void displayMenu() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Menu:");
lcd.setCursor(0, 1);
lcd.print(menuOptions[menuLevel][submenuIndex]);
}
void loop() {
// Baca status tombol
int exitButton = digitalRead(2);
int enterButton = digitalRead(3);
int upButton = digitalRead(4);
int downButton = digitalRead(5);
if (exitButton == LOW) {
// Tombol Exit ditekan, kembali ke menu utama
menuLevel = 0;
submenuIndex = 0;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Menu Utama");
} else if (enterButton == LOW) {
// Tombol Enter ditekan, pilih submenu
if (menuLevel == 0) {
// Menu Utama
menuLevel = 1;
displayMenu();
} else if (menuLevel == 1) {
// Submenu 1 (Measure)
if (submenuIndex == 0) {
// Pilih "Main Measure"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Main Measure");
// Lakukan tindakan yang sesuai
// Misalnya, mengukur sesuatu dan menampilkan hasil di LCD
} else if (submenuIndex == 1) {
// Pilih "Printing"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Printing");
// Melakukan cetakan
}
} else if (menuLevel == 2) {
// Submenu 2 (Calibrate)
if (submenuIndex == 0) {
// Pilih "Input Candela"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Input Candela");
// Melakukan pengaturan candela
} else if (submenuIndex == 1) {
// Pilih "Adjusting"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Adjusting");
// Melakukan penyesuaian
}
}
} else if (upButton == LOW) {
// Tombol Up ditekan, navigasi ke atas dalam submenu
if (submenuIndex > 0) {
submenuIndex--;
displayMenu();
}
} else if (downButton == LOW) {
// Tombol Down ditekan, navigasi ke bawah dalam submenu
if (submenuIndex < submenuCount - 1) {
submenuIndex++;
displayMenu();
}
}
// Tambahan kode lainnya yang mungkin diperlukan dalam loop
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
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
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL