#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins[ROWS] = {5, 4, 3, 2};
byte colPins[COLS] = {8, 7, 6};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
byte ledPin = 13;
boolean blink = false;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
keypad.addEventListener(keypadEvent);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.println(key);
if (blink) {
digitalWrite(ledPin, !digitalRead(ledPin));
delay(100);
}
// Mengatur LED berdasarkan tombol yang ditekan
switch(key) {
case '1':
digitalWrite(ledPin, HIGH);
break;
case '2':
digitalWrite(ledPin, LOW);
break;
// Tambahkan case untuk tombol-tombol lainnya jika diperlukan
}
}
}
void keypadEvent(KeypadEvent key) {
switch (keypad.getState()) {
case PRESSED:
switch (key) {
case '*':
digitalWrite(ledPin, !digitalRead(ledPin));
break;
case '#':
blink = true;
break;
}
break;
case RELEASED:
switch (key) {
case '#':
blink = false;
break;
}
break;
}
}