#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
// Inisialisasi LCD
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Inisialisasi Keypad
const byte ROW_NUM = 4; // jumlah baris pada keypad
const byte COLUMN_NUM = 4; // jumlah kolom pada keypad
char keys[ROW_NUM][COLUMN_NUM] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; // define pin untuk baris
byte pin_column[COLUMN_NUM] = {5, 4, 3, 2}; // define pin untuk kolom
int number;
Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM);
void setup() {
lcd.begin(20, 4); // inisialisasi LCD 20x4
lcd.setBacklight(LOW); // Matikan backlight LCD
lcd.setCursor(0, 0);
lcd.print("Pilih Menu Makanan");
delay(2000);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("1. Nasi Goreng");
lcd.setCursor(0, 1);
lcd.print("2. Bakmi");
lcd.setCursor(0, 2);
lcd.print("3. Capjay");
char key = keypad.getKey();
number = key;
switch(number) {
case '1':
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Anda memilih menu: 1 ");
lcd.setCursor(0, 1);
lcd.print("Menu: Nasi Goreng ");
lcd.setCursor(0, 2);
lcd.print("Harga: 10.000 ");
delay(2000);
lcd.clear();
break;
}
switch(number) {
case '2':
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Anda memilih menu: 2 ");
lcd.setCursor(0, 1);
lcd.print("Menu: Bakmi ");
lcd.setCursor(0, 2);
lcd.print("Harga: 15.000 ");
delay(2000);
lcd.clear();
break;
}
switch(number) {
case '3':
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Anda memilih menu: 3 ");
lcd.setCursor(0, 1);
lcd.print("Menu: Capjay ");
lcd.setCursor(0, 2);
lcd.print("Harga: 20.000 ");
delay(2000);
lcd.clear();
break;
}
}