#include <Keypad.h>
int led_1 = 13;
int led_2 = 12;
int led_3 = 11;
int led_4 = 10;
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
{' ',' ',' ',' '},
{'1','2','3',' '},
{'4','5','6',' '},
{' ','0',' ',' '}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(led_4, OUTPUT);
}
void loop(){
char customKey = customKeypad.getKey();
if (customKey){
Serial.print(customKey);
Serial.print(" - ");
if(customKey == '1')
{
digitalWrite(led_1, HIGH);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
Serial.println("0001");
delay(800);
digitalWrite(led_1, LOW);
}
else if(customKey == '2')
{
digitalWrite(led_1, LOW);
digitalWrite(led_2, HIGH);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
Serial.println("0010");
delay(800);
digitalWrite(led_2, LOW);
}
else if(customKey == '3')
{
digitalWrite(led_1, HIGH);
digitalWrite(led_2, HIGH);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
Serial.println("0011");
delay(800);
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
}
else if(customKey == '4')
{
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, HIGH);
digitalWrite(led_4, LOW);
Serial.println("0100");
delay(800);
digitalWrite(led_3, LOW);
}
else if(customKey == '5')
{
digitalWrite(led_1, HIGH);
digitalWrite(led_2, LOW);
digitalWrite(led_3, HIGH);
digitalWrite(led_4, LOW);
Serial.println("0101");
delay(800);
digitalWrite(led_1, LOW);
digitalWrite(led_3, LOW);
}
else if(customKey == '6')
{
digitalWrite(led_1, LOW);
digitalWrite(led_2, HIGH);
digitalWrite(led_3, HIGH);
digitalWrite(led_4, LOW);
Serial.println("0110");
delay(800);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
}
else if(customKey == '7')
{
digitalWrite(led_1, HIGH);
digitalWrite(led_2, HIGH);
digitalWrite(led_3, HIGH);
digitalWrite(led_4, LOW);
Serial.println("0111");
delay(800);
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
}
else if(customKey == '8')
{
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, HIGH);
Serial.println("1000");
delay(800);
digitalWrite(led_4, LOW);
}
else if(customKey == '9')
{
digitalWrite(led_1, HIGH);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, HIGH);
Serial.println("1001");
delay(800);
digitalWrite(led_1, LOW);
digitalWrite(led_4, LOW);
}
else if(customKey == '0')
{
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
Serial.println("0000");
delay(800);
}
}
}