#include <Password.h>
#include <Keypad.h>
char kee[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','*','#'};
int num;
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 rowPins[ROWS] = { 5, 4, 3, 2 };
//列
byte colPins[COLS] = { 8, 7, 6, 9 };
// 建立键盘
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
delay(200);
keypad.addEventListener(keypadEvent); //增加对键盘的侦听
}
void loop(){
keypad.getKey();
Serial.print("Enter: ");
Serial.println(kee[num]);
delay(500);
}
//注意一些特殊的事件
void keypadEvent(KeypadEvent eKey)
{
switch (keypad.getState())
{
case PRESSED:
switch (eKey){
case '0': num=0; break;
case '1': num=1; break;
case '2': num=2; break;
case '3': num=3; break;
case '4': num=4; break;
case '5': num=5; break;
case '6': num=6; break;
case '7': num=7; break;
case '8': num=8; break;
case '9': num=9; break;
case 'A': num=10; break;
case 'C': num=13; break;
case 'D': num=14; break;
case 'B': num=12; break;
case '*': num=14; break;
case '#': num=15; break;
;
}
}
}
|