#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("LKS ELECTRONICS");
lcd.setCursor(0,1);
lcd.print("SMKN 39 JAKARTA");
delay(3000);
lcd.clear();
}
void loop(){
dataButton1 = digitalRead(pinButton1);
dataButton2 = digitalRead(pinButton2);
if(dataButton1 == 1){
menu++;
}
if(menu > 4);{
menu = 0;
}
delay(100);
lcd.setCursor(1,1);
switchMenu(menu);
void switchMenu(int dataMenu)
switch(dataMenu){
case 1:
digitalWrite( pinLed1,1);
digitalWrite( pinLed1,0);
delay(200);
digitalWrite( pinLed2,1);
digitalWrite( pinLed2,1);
delay(200);
digitalWrite( pinLed3,1);
digitalWrite( pinLed3,0);
delay(200);
digitalWrite( pinLed4,1);
digitalWrite( pinLed4,0);
delay(200);
lcd.setCursor(0,0);
lcd.print("Menu 1");
lcd.setCursor(0,1);
lcd.print("Running Led Kn");
break;
}
case 2:
{
digitalWrite( pinLed4,1);
digitalWrite( pinLed4,0);
delay(200);
digitalWrite( pinLed3,1);
digitalWrite( pinLed3,0);
delay(200)1
digitalWrite( pinLed2,1);
digitalWrite( pinLed2,0);
delay(200);
digitalWrite( pinLed1,1);
digitalWrite( pinLed1,0);
delay(200);
lcd.setCursor(5,0);
lcd.print("Menu 2");
lcd.setCursor(1,1);
lcd.print("Running Led Kr");
}
break;
case 3:
{
digitalWrite( pinLed1,1);
digitalWrite( pinLed3,1);
delay(400)
digitalWrite( pinLed1,0);
digitalWrite( pinLed3,0);
delay(400);
digitalWrite( pinLed1,1);
digitalWrite( pinLed3,1);
delay(400);
digitalWrite( pinLed1,0);
digitalWrite( pinLed3,0);
delay(400);
lcd.setCursor(5,0);
lcd.print("Menu 3");
lcd.setCursor(0,1);
lcd.print( "LED Blynk" );
}
break;
case 4:
for(int i < 100; i++);
k1++;
{
Serial.println(k1);
delay(200);
lcd.setCursor(5,0);
lcd.print("Menu 4");
lcd.setCursor(0,1);
lcd.print("counter Up:");
lcd.print(k1);
lcd.print("");
}
if(k1 > 99 ){
k1 = (0)
delay(200);
lcd.setCursor(0,1);
lcd.print("counter Up :");
break
default:
lcd.setCursor(5,0);
lcd.print(" HOME ");
lcd.setCursor(1,1);
lcd.print("tekan button 1");
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)