#include <LiquidCrystal_I2C.h> //ini adalah library program untuk LCD I2C wajib ada!
LiquidCrystal_I2C lcd(0x27, 16, 2); //ini adalah settingan alat koneksi LCD wajib ada!
//fungsi-fungsi pada library LCd I2C :
//1. lcd.init() => fungsi inisialisasi LCD dan ini wajib ada dan ditempatkan di void setup
//2. lcd.backlight() => fungsi menghidupkan cahaya latar LCD wajib ada agar tulisan terlihat jelas
//3. lcd.setCursor(kolom_ke , baris_ke) => fungsi untuk memulai tulisan dari posisi yg dimnau
//4. lcd.print(kata) => fungsi memunculkan tulisan (gunakan "" untuk menulis kata)
#define BUTTON1 34 //mendefinisikan pin 34 sebagai BUTTON1
#define BUTTON2 35 //mendefinisikan pin 35 sebagai BUTTON2
int button1 = 0; //variabel untuk button1
int button2 = 0; //variabel untuk button2
int menu = 0;
int masukMenu = 0;
bool k1 = 0;
bool k2 = 0;
void setup() { //void setup() hanya berjalan satu kali
pinMode(BUTTON1, INPUT); //set BUTTON1 sebagai INPUT
pinMode(BUTTON2, INPUT); //set BUTTON2 sebagai INPUT
lcd.init(); //inisiaisasi
lcd.backlight(); //on backlagth LCD
lcd.setCursor(4,0); //mulai dari kolom ke-5 dan baris ke-0
lcd.print("SEKOLAH"); //print tulisan
lcd.setCursor(0,1); //mulai dari kolom ke-0 dan baris ke-1
lcd.print("KELAS"); //print tulisan
delay(3000); //tunda waktu
lcd.clear(); //clear semua tulisan
}
void loop(){
button1 = digitalRead(BUTTON1); //memasukan data input ke variabel button1
button2 = digitalRead(BUTTON2); //memasukan data input ke variabel button2
//Buuton 1 untuk Pergerakan Cursor =========================================
if(button1 == 1 && k1 == 0){
k1 = 1;
}
if(button1 == 0 && k1 == 1){
menu++;
if(menu > 1){
menu = 0;
}
k1 = 0;
}
//==========================================================================
//Buuton 2 untuk Masuk Menu ================================================
if(button2 == 1 && k2 == 0){
k2 = 1;
}
if(button2 == 0 && k2 == 1){
if(menu == 0){
masukMenu = 1;
}
if(menu == 1){
masukMenu = 2;
}
k2 = 0;
}
//==========================================================================
//Cursor Pilihan Menu ======================================================
if(menu == 1){
lcd.setCursor(0,0); //mulai dari kolom ke-0 dan baris ke-0
lcd.print(" Temperatur"); //print tulisan
lcd.setCursor(0,1); //mulai dari kolom ke-0 dan baris ke-1
lcd.print("> Humidity"); //print tulisan
}
else{
lcd.setCursor(0,0);
lcd.print("> Temperatur");
lcd.setCursor(0,1);
lcd.print(" Humidity");
}
//==========================================================================
//Masuk Menu Temperatur ====================================================
while(masukMenu == 1){
lcd.setCursor(0,0);
lcd.print(" Mode ");
lcd.setCursor(0,1);
lcd.print("Temperatur ");
}
//==========================================================================
//Masuk Menu Humidity ======================================================
while(masukMenu == 2){
lcd.setCursor(0,0);
lcd.print(" Mode ");
lcd.setCursor(0,1);
lcd.print("Humidity ");
}
//=========================================================================
//NOTE :
//untuk logika if sama dengan dari menggunakan double sama dengan (==)
//jika menggunakan single (=) maka akan error karena single sama dengan hanya untuk perhitungan
}