#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 14;
//define the cymbols on the buttons of the keypads
char lowerCase[ROWS][COLS] = {
{'`','1','2','3','4','5','6','7','8','9','0','-','=','\0'},
{'q','w','e','r','t','y','u','i','o','p','[',']','\\','\0'},
{'a','s','d','f','g','h','j','k','l',';','\'','\0','\0','\0'},
{'z','x','c','v','b','n','m',',','.','/','\0','\0','\0','\0'}
};
char upperCase[ROWS][COLS] = {
{'~','!','@','#','$','%','^','&','*','(',')','_','+','\0'},
{'Q','W','E','R','T','Y','U','I','O','P','{','}','|','\0'},
{'A','S','D','F','G','h','j','k','l',';','\'','\0','\0','\0'},
{'z','x','c','v','b','n','m',',','.','/','\0','\0','\0','\0'}
};
byte rowPins[ROWS] = {22, 24, 26, 28}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad(makeKeymap(lowerCase), rowPins, colPins, ROWS, COLS);
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
if (customKey){
Serial.println(customKey);
}
}