0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样连接4×4带Arduino的矩阵键盘以及如何从键盘获取数据

454398 来源:工程师吴畏 2019-07-30 10:16 24442次阅读

在本教程中,我们将学习4×4矩阵键盘以及Arduino键盘接口工作原理。键盘是一种输入设备,用于输入密码,拨打号码,浏览菜单甚至控制机器人

您可能已经看到ATM上使用了键盘,安全系统,电话等,允许用户向系统输入数据。键盘可与微控制器和原型平台(如Arduino)一起使用,以实现各种项目。

因此,在本文中,我将向您展示如何连接4×4带Arduino的矩阵键盘以及如何从键盘获取数据。

概述

矩阵键盘只不过是水平和垂直方式的按钮系统排列。例如,4×4键盘由16个按键或按钮组成,按4行和4列排列。下图显示了典型的按键类型4×4矩阵键盘。

有目前有两种类型的矩阵键盘可用。一种是传统的按键式键盘,如上图所示,另一种是膜式键盘,它不包含任何按钮,但由于按键表面和底层电路之间的电接触而起作用。

另请阅读:如何构建简单的Arduino计算器?

键盘如何工作?

如前所述,4×4矩阵键盘由16个按键或按钮组成,分为4行4列。带有所有16个按钮的4×4键盘的内部电路如下图所示。

我将在不考虑任何特定微控制器的情况下解释4×4矩阵键盘的工作原理。这项工作可以应用于任何微控制器,甚至是Arduino和Raspberry Pi

假设键盘的所有行都变为低电平,键盘的所有列都变为高电平。微控制器。如果没有按下任何按钮或键,则这将是行和列的默认状态。

现在,当按下某个键时,当电流从HIGH Column Pin流向LOW Row Pin时,相应的列将变为LOW。微控制器(或Arduino)可以通过在列上扫描LOW来轻松识别键的列。

技巧部分用于识别键的行。为此,微控制器应使键盘的行一个接一个地高,并检查列引脚是否变为高电平。此过程一直持续到先前检测到的列变为高电平。

这样,微控制器可以确定按键的列和行,从而识别按下的按键。

Arduino键盘界面

现在,我将向您展示如何连接或连接配有Arduino UNO的4×4键盘。一个4×4矩阵键盘由8个引脚组成,我们需要使用8个Arduino引脚连接到键盘。下图显示了Arduino键盘接口的简单电路。

在这个电路中,我已经将键盘的行连接到Arduino的数字引脚0到3,即ROW1至数字引脚0,ROW2至数字引脚1,ROW3至数字引脚2以及ROW4至数字引脚3.

类似地,键盘的列连接到数字引脚Arduino的4到7。我们现在将看到一个使用Arduino键盘接口的小项目。

电路图

所需组件

Arduino UNO

16×2 LCD显示器

4×4矩阵键盘

10KΩ电位计

1KΩ电阻(1/4瓦)

面包板

连接电线

电源

电路设计

该项目的电路设计与上面显示的Arduino键盘接口非常相似。附加组件是16×2 LCD显示器。 LCD的数据引脚连接到数字引脚11到8. 16×2 LCD显示器的E和RS引脚连接到Arduino的引脚12和13。

代码

工作

这个简单项目的目的是解释如何将4×4矩阵键盘连接到Arduino,Arduino键盘接口如何工作以及如何确定键盘上按下的键并显示在键盘上16×2 LCD显示器。

为了确定键盘上按下的键,我们使用了一个名为“Keypad”的特殊库。您应首先从此链接下载此库,并将其放在Arduino/libraries目录(C: Program Files(x86) Arduino libraries或C: Program Files Arduino libraries)中。

注意:图书馆“键盘”由Mark Stanley和Alexander Brevig开发。

安装库后,您可以复制上面的代码并将其上传到Arduino。在代码中,4×4矩阵键盘的键映射为0到9的数字,符号*和#以及字母A,B,C和D.

因此,无论何时按下某个键,Arduino都会使用“键盘”库检测该键,并在16×2 LCD显示器上显示该键。

应用程序

Arduino键盘接口有广泛的应用。其中一些在下面提到。

基于Arduino的计算器

基于密码的门锁系统

家庭安全系统

家庭自动化系统

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 键盘
    +关注

    关注

    4

    文章

    862

    浏览量

    40076
  • Arduino
    +关注

    关注

    188

    文章

    6481

    浏览量

    188960
收藏 人收藏

    相关推荐

    纳祥科技NX1722,一种键盘扫描的8段4位 LED 驱动控制方案

    NX1722是一种键盘扫描电路接口的 LED 驱动控制专用电路,内部集成有 MCU 输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。 NX1722性能稳定
    的头像 发表于 02-05 17:27 152次阅读
    纳祥科技NX1722,一种<b class='flag-5'>带</b><b class='flag-5'>键盘</b>扫描的8段<b class='flag-5'>4</b>位 LED 驱动控制方案

    AN-660:XY矩阵键盘与MicroConverter的接口

    电子发烧友网站提供《AN-660:XY矩阵键盘与MicroConverter的接口.pdf》资料免费下载
    发表于 01-13 16:02 0次下载
    AN-660:XY<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>与MicroConverter的接口

    究竟是怎样连接器才配得上防爆键盘?LP20-USB工业级连接器“出来走两步”

    也是要使用能在严苛环境下安然使用的高可靠、高耐受性的工业级连接器产品。LP20-USB系列工业级连接器新品用于防爆键盘防爆键盘上用到的USB连接
    的头像 发表于 12-04 01:03 280次阅读
    究竟是<b class='flag-5'>怎样</b>的<b class='flag-5'>连接</b>器才配得上防爆<b class='flag-5'>键盘</b>?LP20-USB工业级<b class='flag-5'>连接</b>器“出来走两步”

    开源项目!基于 Arduino DIY 漂亮的宏机械键盘

    ,以便 Arduino 的 USB 端口能够轻松连接至电脑。盖子采用键盘底部插入的设计,通过两颗螺丝稳固固定,从而确保外壳与盖子之间的连接
    发表于 08-19 17:02

    TCA8418E I2C控制键盘扫描IC,集成ESD保护数据

    电子发烧友网站提供《TCA8418E I2C控制键盘扫描IC,集成ESD保护数据表.pdf》资料免费下载
    发表于 06-27 09:58 0次下载
    TCA8418E I2C控制<b class='flag-5'>键盘</b>扫描IC,<b class='flag-5'>带</b>集成ESD保护<b class='flag-5'>数据</b>表

    磁轴键盘霍尔开关MST-MH481霍尔磁轴机械键盘

    磁轴键盘是一种利用霍尔效应进行触发的键盘,与传统的机械键盘有所不同。磁轴键盘的轴体采用了霍尔效应技术,可以更快速、更稳定地触发按键,同时也具有更高的耐用性和更长的使用寿命。它能够为每个
    的头像 发表于 06-22 08:07 994次阅读
    磁轴<b class='flag-5'>键盘</b>霍尔开关MST-MH481霍尔磁轴机械<b class='flag-5'>键盘</b>

    键盘矩阵规格设计图

    键盘矩阵规格设计图
    发表于 06-19 14:29 0次下载

    老陆测功耗 | 键盘敲出火星子啦

    高效办公离不开称手的键盘,如何“键”入佳境?比起有线键盘的那根线,无线键盘的多种连接模式让办公少了一“线”杂乱。比起电量突然耗尽的手足无措,随时更换干电池显得更加贴心。我们本期选择了两
    的头像 发表于 06-04 08:04 1258次阅读
    老陆测功耗 | <b class='flag-5'>键盘</b>敲出火星子啦

    【Vision Board创客营连载体验】利用 OpenMV 实现 AprilTag 跟踪以及通过串口通讯控制 Arduino 驱动 LED 灯

    不同编号的 AprilTag 时,灯发出不同颜色 实现二维 LED 矩阵形式的跟踪效果 我也将 OpenMV 以及 Arduino 工程文件开源在 GitHub,欢迎对该项目感兴
    发表于 05-31 00:01

    单片机接矩阵键盘GPIO应该怎么设置?是用上拉输出或输入模式吗?

    单片机接矩阵键盘GPIO应该怎么设置?是用上拉输出或输入模式吗?
    发表于 05-11 08:38

    stop mode下怎么实现按下矩阵键盘的任意键将系统唤醒呢?

    请问有没有大佬知道stop mode下怎么实现按下矩阵键盘的任意键将系统唤醒呢?用WAKEUP 能实现吗?
    发表于 05-06 07:08

    用STM32 的USB HOST接键盘,要怎样才能读取键盘的按键字符并显示在屏幕上?

    用STM32 的USB HOST接键盘,用官方例程可以完成键盘的枚举,接下来要怎样才能读取键盘的按键字符并显示在屏幕上? 小弟刚接触USB通讯,希望各位达人可以指点一下,谢谢!!!!
    发表于 04-29 08:44

    采用NT33510显示屏,如何通过矩阵键盘更改显示屏上的数字内容?

    我想实现一个这样的功能:我的LCD当前显示的是:新年快乐!2018! 想通过矩阵键盘将2018更改成2019,这个过程首先通过矩阵键盘上的左键移动到数字“8”上,然后在通过
    发表于 04-24 08:10

    什么是磁轴键盘?电竞磁轴键盘高精度线性霍尔传感器方案简析

    磁轴键盘是一种新型的电脑键盘,相较于传统的机械键盘而言,它采用了磁性材料和磁场进行操作,具有更轻柔、噪音更小、寿命更长的优点
    的头像 发表于 04-18 14:12 7959次阅读
    什么是磁轴<b class='flag-5'>键盘</b>?电竞磁轴<b class='flag-5'>键盘</b>高精度线性霍尔传感器方案简析

    stm32cubeMX如何配置4*4矩阵键盘

    stm32cubeMX如何配置4*4矩阵键盘,求大佬给代码指导一下,看了太多代码,自己迷乱了
    发表于 03-28 09:27