上海极制信息科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动 培训 资料
查看: 1628|回复: 0

用Arduino读取矩阵键盘

[复制链接]

39

主题

62

帖子

1287

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1287
发表于 2016-8-16 13:28:18 | 显示全部楼层 |阅读模式


矩阵键盘(Matrix keypad)
首先必须安装Arduino Keypad键盘库(Keypad library),Arduino Keypad键盘库可以从Arduino Playground下载。Arduino Keypad键盘库让你读取矩阵式键盘而不用编写复杂的代码,此键盘库可以读取3x4, 4x4以及各种矩阵结构的键盘。
使用Arduino Keypad键盘库注意事项
  • 该键盘库是属于无阻塞式,按下谋键不放,其余(接下来)的代码还是会继续运行
  • 如果编写控制键盘处运用到delay(),这将造成键反应迟顿
  • 按下谋键,getKey()只返回一个键值,而不是自动重复。松开按键时,可以追踪其RELEASED event

安装Arduino Keypad键盘库
  • 下载Arduino Keypad键盘库
  • 将下载了的文件(keypad.zip)解压至Arduino软件的libraries文件夹,如图



  • 打开Arduino软件
  • 选择File>Examples>Keypad,将会看见以下画面,表示Arduino Keypad键盘库安装成功




4x4矩阵keypad示范
根据下面接线连接键盘至Arduino


Arduino
4x4 Keypad
D2
1
D3
2
D4
3
D5
4
D6
5
D7
6
D8
7
D9
8

上载以下代码至Arduino
  1. #include <Keypad.h>

  2. const byte ROWS = 4; // Four rows
  3. const byte COLS = 4; // Four columns

  4. //Define the keymap
  5. char keys[ROWS][COLS] = {
  6. {'1','2','3','A'},
  7. {'4','5','6','B'},
  8. {'7','8','9','C'},
  9. {'*','0','#','D'}
  10. };

  11. //// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
  12. byte rowPins[ROWS] = {6,7,8,9};

  13. // Connect keypad COL0, COL1, COL2 and COL3 to these Arduino pins.
  14. byte colPins[COLS] = {2,3,4,5}; //connect to column pinouts

  15. // Create the Keypad
  16. Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

  17. void setup(){
  18.    Serial.begin(9600);
  19. }

  20. void loop(){
  21.    char key = keypad.getKey();

  22.    if (key != NO_KEY){
  23.    Serial.println(key);
  24.    }
  25. }
复制代码

使用Arduino软件自带的串口监视器(Serial Monitor)来测试此程序(Baud rate必须设成9600)。当按下谋键时,其返回值将显示在串口监视器。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|上海极制信息科技有限公司 ( 沪ICP备14016067号

GMT+8, 2018-5-21 01:43 , Processed in 0.133832 second(s), 26 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表