#include <Keypad.h>
#define RELAY 22
#define ROW_NUM 4 // four rows
#define COLUMN_NUM 4 // four columns
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] = {19, 18, 5, 17}; // GPIO19, GPIO18, GPIO5, GPIO17 connect to the row pins
byte pin_column[COLUMN_NUM] = {16, 4, 0, 2}; // GPIO16, GPIO4, GPIO0, GPIO2 connect to the column pins
Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );
const String set_jam = "30"; // change your time here
String input_jam;
void setup() {
Serial.begin(9600);
pinMode(RELAY,OUTPUT);
input_jam.reserve(32); // maximum input characters is 33, change if needed
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.println(key);
if (key == '*') {
input_jam = ""; // clear input jam
} else if (key == '#') {
if (set_jam == input_jam) {
Serial.println("MENGISI AIR HINGGA 30 MENIT");
digitalWrite(RELAY,HIGH);
delay(5000);
digitalWrite(RELAY,LOW);
} else {
Serial.println("Waktu pengisian tidak tersedia!");
}
input_jam = ""; // clear input jam
} else {
input_jam += key; // append new character to input jam string
}
}
}