#include <Keypad.h>
#include <LiquidCrystal.h>
/* Keypad */
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte pinesROWS[ROWS] = {23, 25, 27, 29};
byte pinesCOLS[COLS] = {31, 33, 35, 37};
Keypad keyboard = Keypad(makeKeymap(keys), pinesROWS, pinesCOLS, ROWS, COLS);
/* Keypad */
/* LiquidCrystal */
LiquidCrystal lcd(39, 41, 43, 45, 47, 49);
/* LiquidCrystal */
char KEY;
const char ZERO = '0';
void setup() {
// put your setup code here, to run once:
// Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("test!");
}
void loop() {
// put your main code here, to run repeatedly:
KEY = keyboard.getKey();
if(KEY != NULL) {
if(isNum(KEY)) {
int num = KEY - ZERO;
// Serial.print(num);
lcd.setCursor(0, 1);
lcd.println(num);
} else {
lcd.setCursor(0, 1);
lcd.println(KEY);
}
}
}
int isNum(char value) {
return value != 'A' && value != 'B' && value != 'C' && value != 'D' && value != '*' && value != '#';
}