4x4矩阵键盘
模块来源
规格参数
硬件接口
4x4矩阵键盘有8个引脚,分别对应4行和4列。你需要将每一个引脚连接到Arduino的数字引脚上。
- 将键盘的4行引脚分别连接到Arduino的4个数字引脚上,例如2, 3, 4, 5。
- 将键盘的4列引脚分别连接到Arduino的另外4个数字引脚上,例如6, 7, 8, 9。
使用方法
安装库
Arduino没有标准库用于读取矩阵键盘的数据,但有一个叫Keypad
的常用第三方库可以进行这项工作。在Arduino IDE中,你可以通过"库管理器"搜索并安装Keypad
库。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月11日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <Keypad.h>
// 定义键盘尺寸
const byte ROWS = 4; // 四行
const byte COLS = 4; // 四列
// 定义连接到行和列的Arduino引脚
byte rowPins[] = {2, 3, 4, 5};
byte colPins[] = {6, 7, 8, 9};
// 定义每个按键代表的字符
char keys[][] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// 创建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);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
使用验证
按下对应按键,串口就会输出按下的按键编号。如果编号不对可能是接线的行列接反了。