@[toc]
目的
使用 4 X 4 的矩阵按键输入,再通过串口显示内容
主要函数
#define makeKeymap(x) ((char *)x)
makeKeymap(x)只是将 x 定义为指针形式
Keypad::Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols)
自定义键映射、针配置和键盘大小
char Keypad::getKey()
返回一个键
使用示例
#include <keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
{'0','1','2','3'},
{'4','5','6','7'},
{'8','9','A','B'},
{'C','D','E','F'}
};//
byte rowPins[ROWS] = {19, 18, 26, 17}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {16, 14, 12, 13}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
}
现象
当按矩阵按键上的按钮后,就会显示对应数字
注意事项
- 在连接引脚的时候要注意引脚的初始是高电平或者是低电平
- 连接到键盘的行、列插脚要分清,填写入正确的引脚。出现错误时可以根据对应的行或列进行分析哪个数值写错