#include <Keypad.h>
const int ROWS = 4;
const int COLS = 4;
const int ledKedip=13;
const int led[4]={A0,A1,A2,A3};
const int delayOn[3]={300,50,300};
char keys[ROWS][COLS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
byte colPins[COLS] = { 5, 4, 3, 2 }; // Pins connected to C1, C2, C3, C4
byte rowPins[ROWS] = { 9, 8, 7, 6 }; // Pins connected to R1, R2, R3, R4
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
for(int i=0;i<3;i++){
pinMode(led[i], OUTPUT);
}
}
void loop() {
char customKey = keypad.getKey();
if (customKey){
Serial.println(customKey);
}
switch(customKey){
case '1':
kedip(1);
break;
case '2':
kedip(2);
break;
case '3':
kedip(3);
break;
case '4':
kedip(4);
break;
case '5':
kedip(5);
break;
case '6':
kedip(6);
break;
case '7':
kedip(7);
break;
case '8':
kedip(8);
break;
case '9':
kedip(9);
break;
case 'A':
digitalWrite(led[0], HIGH);
break;
case 'B':
digitalWrite(led[1], HIGH);
break;
case 'C':
digitalWrite(led[2], HIGH);
break;
case 'D':
digitalWrite(led[3], HIGH);
break;
case '#':
digitalWrite(led[0], LOW);
digitalWrite(led[1], LOW);
digitalWrite(led[2], LOW);
digitalWrite(led[3], LOW);
break;
default:
kedip(0);
break;
}
}
void kedip(int jml){
for(int i=1;i<=jml;i++){
digitalWrite(ledKedip, HIGH);
delay(500);
digitalWrite(ledKedip, LOW);
delay(500);
}
}