//BY CH.SC.U4CSE24049
#include <Keypad.h>
char keys[4][4]=
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
int nums[10][7]=
{
{1,1,1,1,1,1,0}, //0
{0,1,1,0,0,0,0}, //1
{1,1,0,1,1,0,1}, //2
{1,1,1,1,0,0,1}, //3
{0,1,1,0,0,1,1}, //4
{1,0,1,1,0,1,1}, //5
{1,0,1,1,1,1,1}, //6
{1,1,1,0,0,0,0}, //7
{1,1,1,1,1,1,1}, //8
{1,1,1,1,0,1,1} //9
};
int alphs[4][7]=
{
{1,1,1,0,1,1,1}, //A
{1,1,1,1,1,1,1}, //B
{1,0,0,1,1,1,0}, //C
{1,1,1,1,0,0,0} //D
};
uint8_t rowP[4]={9,8,7,6};
uint8_t colP[4]={5,4,3,2};
Keypad keypad = Keypad(makeKeymap(keys), rowP, colP, 4, 4);
void setup() {
for(int i=10;i<17;i++){
pinMode(i, OUTPUT);
}
}
void loop() {
char key= keypad.getKey();
if(key!= NO_KEY){
if((int)key>47 && (int)key<58){
displayNum(((int)key)-48);
}
if((int)key>64 && (int)key<69){
displayAlph(((int)key)-65);
}
}
delay(1);
}
void displayNum(int num){
for(int c=0;c<7;c++){
digitalWrite(c+10,nums[num][c]);
}
}
void displayAlph(int intAlph){
for(int c=0;c<7;c++){
digitalWrite(c+10,alphs[intAlph][c]);
}
}