#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define pinLed1 12
#define pinLed2 11
#define pinLed3 10
#define pinLed4 9
#define pinButton1 8
#define pinButton2 7
//Set alamat I2C dan ukuran LCD
LiquidCrystal_I2C lcd(0x27,16,2);
//variabel bilangan bulat
int dataPertama = 100;
int dataButton1 = 0;
int dataButton2 = 0;
int k1 = 0;
int k2 = 0;
int menu = 0;
//variabel bilangan pecahan
float dataKedua = 100.7;
void setup(){
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
pinMode(pinButton1, INPUT);
pinMode(pinButton2, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Welcome");
lcd.setCursor(0,1);
lcd.print("Hello World");
delay(2000);
lcd.clear();
}
void loop(){
dataButton1 = digitalRead(pinButton1);
dataButton2 = digitalRead(pinButton2);
if(dataButton1 == 1){
menu++;
}
if(menu > 4){
menu = 0;
}
delay(100);
switchMenu(menu);
}
void switchMenu(int dataMenu){
switch(dataMenu){
case 1:
lcd.setCursor(0,0);
lcd.print("Menu 1");
break;
case 2:
lcd.setCursor(0,0);
lcd.print("Menu 2");
break;
case 3:
lcd.setCursor(0,0);
lcd.print("Menu 3");
break;
case 4:
lcd.setCursor(0,0);
lcd.print("Menu 4");
break;
default:
lcd.setCursor(0,0);
lcd.print("HOME ");
break;
};
}
//LATIHAN 4
//1. buat tampilan greatting dg menampilkan tulisan seperti ini:
//"LKS ELECTRONICS" -> baris ke 1
//"SMKN 39 JAKARTA" -> baris ke 2
//greatting selama 3 detik
//2. LCD pertama menampikan tuisan berikut :
//"HOME" -> baris ke 1 (centre)
//"Tekan Button 1" -> baris ke 2 (centre)
//3. jika btn 1 ditekan 1x masuk ke menu 1
//4. jika btn 1 ditekan 2x masuk ke menu 2
//5. jika btn 1 ditekan 3x masuk ke menu 3
//6. jika btn 1 ditekan 4x masuk ke menu 4
//7. isi menu 1:
// Led running dari kiri ke kanan dengan delay 200ms
//tulisan "Menu 1" -> baris ke 1 (centre)
//tulisan "Running Led Kn" -> baris ke 2 (centre)
//8. isi menu 2:
// Led running dari kanan ke kiri dengan delay 200ms
//tulisan "Menu 2" -> baris ke 1 (centre)
//tulisan "Running Led Kr" -> baris ke 2 (centre)
//9. isi menu 3:
// Led 1 dan 3 blynk -> T 400ms
// Led 2 dan 4 blynk -> T 800ms
//tulisan "Menu 3" -> baris ke 1 (centre)
//tulisan "LED Blynk" -> baris ke 2 (centre)
//10. isi menu 4:
//counter up dari 0 - 100 delay 200ms
//tulisan "Menu 4" -> baris ke 1 (centre)
//tulisan "Counter Up :" (nilai counter)