#include <LiquidCrystal.h>
const int rs = 7; // Pin 7 on Arduino to pin 4 (RS) on LCD
const int en = 6; // Pin 6 on Arduino to pin 6 (E) on LCD
const int d4 = 12; // Pin 12 on Arduino to pin 11 (D4) on LCD
const int d5 = 10; // Pin 10 on Arduino to pin 12 (D5) on LCD
const int d6 = 9; // Pin 9 on Arduino to pin 13 (D6) on LCD
const int d7 = 8; // Pin 8 on Arduino to pin 14 (D7) on LCD
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int currentMenuItem = 0;
int lastState = 0;
int up = A3;
int down = A4;
int enter = A5;
void setup() {
pinMode(up, INPUT_PULLUP);
pinMode(down, INPUT_PULLUP);
pinMode(enter, INPUT_PULLUP);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("LCD MENU DENGAN");
lcd.setCursor(0,1);
lcd.print("PUSH BUTTON");
delay(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PILIH PRODI ANDA");
lcd.setCursor(0,1);
lcd.print("TEKAN DOWN");
}
void loop() {
mainmenu();
}
void mainmenu(){
int state = 0;
if (digitalRead(up) == LOW){
state = 1;
}
else if(digitalRead(down) == LOW){
state = 2;
}
else if(digitalRead(enter) == LOW){
state = 3;
}
if (currentMenuItem < 0 || currentMenuItem > 5){
currentMenuItem = 0;
}
if (state != lastState) {
if (state ==1 ){
currentMenuItem = currentMenuItem - 1;
displayMenu(currentMenuItem);\
}
else if (state == 2){
currentMenuItem = currentMenuItem + 1;
displayMenu(currentMenuItem);
}
else if (state == 3){
selectMenu(currentMenuItem);
}
lastState = state;
}
delay(5);
}
void displayMenu(int x){
switch(x){
case 1:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("*FARMASI");
lcd.setCursor(0,1);
lcd.print(" FISIO");
break;
case 2:
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" FARMASI");
lcd.setCursor(0,1);
lcd.print("*FISIO");
break;
case 3:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("*TEM");
lcd.setCursor(0,1);
lcd.print("ANKES");
break;
case 4:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TEM");
lcd.setCursor(0,1);
lcd.print("*ANKES");
break;
case 5:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ANKES");
lcd.setCursor(0,1);
lcd.print("*RMIK");
break;
}
}
void selectMenu(int x){
switch(x){
case 1:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SELAMAT");
lcd.setCursor(0,1);
lcd.print("ANDA MEMILIH FARMASI");
break;
case 2:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SELAMAT");
lcd.setCursor(0,1);
lcd.print("ANDA MEMILIH FISIO");
break;
case 3:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SELAMAT");
lcd.setCursor(0,1);
lcd.print("ANDA MEMILIH TEM");
break;
case 4:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SELAMAT");
lcd.setCursor(0,1);
lcd.print("ANDA MEMILIH TEM");
break;
case 5:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SELAMAT");
lcd.setCursor(0,1);
lcd.print("ANDA MEMILIH RMIK");
break;
}
}