#include <LiquidCrystal.h>
#include <Keypad.h>
const int ROW_NUM = 4; // jumlah baris pada keypad
const int 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] = {7, 6, 5, 4}; // terhubung dengan pin-pins baris keypad
byte pin_column[COLUMN_NUM] = {3, 2, 1, 0}; // terhubung dengan pin-pins kolom keypad
Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM);
LiquidCrystal lcd(13, 12, 11, 10, 9, 8); // Sesuaikan pin LCD dengan koneksi di Arduino
float nilai = 0;
float liter,i;
float j=0.00;
void setup() {
lcd.begin(16, 2);
lcd.print("Rp");
lcd.setCursor(7, 0);
lcd.print(nilai);
}
void loop() {
char key = keypad.getKey();
if (key) {
if (key >= '0' && key <= '9') {
// Input angka
nilai = nilai * 10 + (key - '0');
}
else if (key == '#') {
// Enter
lcd.setCursor(7, 0);
lcd.print(nilai);
liter = nilai/10000;
lcd.setCursor(7, 1);
lcd.print(liter, 2);
delay(1000);
lcd.clear();
lcd.print("Rp");
for (i=0; i<=nilai; i+=50){
lcd.setCursor(7, 0);
lcd.print(i);
lcd.setCursor(7, 1);
lcd.print(j+=0.005);
delay(50);
}
}
else if (key == '*') {
// Reset
lcd.clear();
lcd.print("Rp");
nilai=0;
j=0.00;
}
lcd.setCursor(7, 0);
lcd.print(nilai);
}
}