#define back A0
#define ok A3
#define up A1
#define down A2
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int layar, menu, absen = 0;
char *nama[] = {"1. HASAN","2. ALIFYA","3. ALVIN","4. ALYA","5. AMBAR",
"6. ARDAN","7. ATINA","8. FIKA","9. EZRA","10. ROZI",
"11. KRISNA","12. BARUNA","13. DZAKY","14. FACHRI","15. NAUFAL",
"16. NURIS","17. RAKHA","18. RASZA","19. ZULFA","20. ULLY",
"21. VANIA","22. DHANU","23. ZAENAL"};
void setup() {
// put your setup code here, to run once:
pinMode(back, INPUT_PULLUP);
pinMode(ok, INPUT_PULLUP);
pinMode(up, INPUT_PULLUP);
pinMode(down, INPUT_PULLUP);
lcd.init();
lcd.setCursor(1,0);
lcd.print("SELAMAT DATANG");
delay(2000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
bacatombol();
if (layar == 0){ //MAIN MENU
lcd.setCursor(0,0);
lcd.print("GRUP A");
lcd.setCursor(0,1);
lcd.print("GRUP B");
if(menu == 0){
lcd.setCursor(14,0);
lcd.print("<<");
lcd.setCursor(14,1);
lcd.print(" ");
}
else if(menu == 1){
lcd.setCursor(14,0);
lcd.print(" ");
lcd.setCursor(14,1);
lcd.print("<<");
}
}
else if(layar == 1){ //GRUP A
lcd.setCursor(0,0);
lcd.print("Anggota Grup A");
lcd.setCursor (0,1);
lcd.print(nama[absen]);
}
else if(layar == 2){
lcd.setCursor(0,0);
lcd.print("Anggota Grup B");
lcd.setCursor (0,1);
lcd.print(nama[absen]);
}
}
void bacatombol(){
if (digitalRead(back)==0){
if(layar > 0) {
layar = 0;
lcd.clear();
}
}
else if (digitalRead(ok)==0){
lcd.clear();
if(menu == 0) {
layar = 1;
absen = 0;
}
else if (menu == 1) {
layar = 2;
absen = 12;
}
}
if (digitalRead(up)==0){
lcd.clear();
if (layar == 0){
menu = 0;
}
else if (layar == 1) {
if (absen < 11) {
absen++;
}
}
else if (layar == 2){
if (absen < 22) {
absen++;
}
}
while (digitalRead(up)==0){
if (digitalRead(up)==1) break;
}
}
else if (digitalRead(down)==0){
lcd.clear();
if (layar == 0){
menu = 1;
}
else if (layar == 1) {
if (absen > 0) {
absen--;
}
}
else if (layar == 2){
if (absen > 12) {
absen--;
}
}
while (digitalRead(down)==0){
if (digitalRead(down)==1) break;
}
}
}