我们简单介绍一下矩阵键盘。实际应用中,通常一键需要一个IO。为了节省IO资源,我们将多个按键做成了矩阵键盘的形式。例如,4x4矩阵键盘只需要8个IO端口。每个键都有其行值和列值。行值和列值的组合就是标识键的代码。
单片机通过不断扫描IO口来反馈8个IO的实时状态。当按键按下时,IO口的状态发生变化,通过比较,可以识别哪个按键被按下。
接下来,通过Arduino连接矩阵键盘和1602 LCD。按下键盘,LCD上将显示键值。连接示意图如下所示。
硬件原理图
2.程序解读
算法说明:
Arduino的矩阵键盘是以库函数的形式驱动的,直接调用库的键盘配置函数和扫描函数来识别键盘,所以Arduino的库函数使用起来还是相当方便的。
矩阵键盘的扫描其实有点类似于按键控制的算法。第一步是读取键扫描返回的键。当返回键值时,将它们显示在LCD1602上。这并不难。因为1602一行只能显示16个字符,所以当显示满的时候必须进行换行。同样,LCD两行都满后,需要清屏刷新屏幕,然后才能继续显示键值。
事实上,这种按键扫描是基于循环查询的方法。扫描过程会占用更多的CPU时间。更好的处理方法是使用状态机方法。最大限度地减少键盘查询过程对CPU的占用时间
LCD1602的显示在之前的文章中已经介绍过,这里不再介绍。
代码解读:
详细代码解释请参见注释。
3.实物效果
物理连接图如下。当按下按钮时,LCD1602上将显示相应的键值。
实验动态效果图如下:
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/4683.html
用户评论
终于明白了如何用Arduino实现矩阵键盘的扫描!这篇文章讲解得很清楚,我已经跟着教程实践了,很顺利。
有19位网友表示赞同!
想当年我也用Arduino做过一个1602显示的小项目,但是没用到矩阵键盘啊。真是太棒了!可以学习一下这个技巧。
有12位网友表示赞同!
电子学入门看这篇文章就够了!写的简单易懂,配上代码示例更容易理解
有7位网友表示赞同!
我正在学习Arduino,矩阵键盘是必学的知识点!这篇教程对我很有用,感谢分享!
有14位网友表示赞同!
这个1602显示效果真不错!以后可以尝试用矩阵键盘控制一些其他设备了。
有16位网友表示赞同!
厉害了!代码写的清晰简洁!
有9位网友表示赞同!
学习电子科技很棒!Arduino 真的很有用。
有19位网友表示赞同!
这篇文章很详细,解决了我想知道的关于矩阵键盘扫描的疑问!
有7位网友表示赞同!
1602显示器的使用方法我还没学过,有机会得好好研究一下这个教程。
有9位网友表示赞同!
想做个简单的控制面板,可以用矩阵键盘来实现吗?
有16位网友表示赞同!
这篇文章很有启发力,让我对Arduino的应用有了更深的了解!
有6位网友表示赞同!
原来矩阵键盘扫描是这样操作的,太明白了!感谢分享!
有20位网友表示赞同!
想做个类似的小项目,可以参考这个教程吗?
有8位网友表示赞同!
感觉很新奇!矩阵键盘确实很有创意。
有10位网友表示赞同!
Arduino真的很强大!可以实现很多酷炫的功能!
有17位网友表示赞同!
这篇教程太棒了!我终于明白如何使用Arduino进行矩阵键盘扫描。我会继续学习更多关于电子学的知识!
有14位网友表示赞同!