查看“第四十四课--Microduino 矩阵键盘使用/zh”的源代码
←
第四十四课--Microduino 矩阵键盘使用/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language | Lesson 44--Microduino Matrix keyboard}} {| style="width: 800px;" |- | ==目的== 了解矩阵键盘的工作原理并掌握如何使用Microduino读取矩阵键盘上的每一个按键值。 ==设备== *'''[[Microduino-Core/zh]]''' *'''[[Microduino-USBTTL/zh]]''' *'''[[Microduino-Plug/zh]]''' *'''[[Microduino-OLED/zh]]''' *其他硬件设备 **USB数据连接线 一根 **矩阵键盘 一个 **杜邦线 8根 **万用表 一个 ==矩阵键盘== 矩阵键盘排布类似于矩阵的键盘组,在键盘中按键数量较多时,为了减少I/O口的占用可以采用矩阵键盘,比如 4*4矩阵键盘只有8跟信号线,就可以控制16个按键。 [[File:Matrix_keyboard1.jpg|600px|center|thumb]] *原理: 每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。 [[File:Matrix_keyboard2.jpg|600px|center|thumb]] *识别方法: 列线通过电阻接正电源,并将行线所接的Microduino的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 ==实验原理图== 玩家如果没有矩阵键盘,也可用独立键盘来组合。 [[File:Matrix_keyboard3.jpg|600px|center|thumb]] ==程序== *程序用到的库:[http://playground.arduino.cc/uploads/Code/keypad.zip keypad.zip] ==调试== *步骤一:使用测量矩阵键盘引脚 方法:我们可以从原理图看到,假如第一个按键按下,对应第一行和第一列的两根导线接通,依此类推我们可用万用表欧姆档进行判断,用表笔分别接任意两根导线,然后按下按键,看是否处于导通状态,这样就可区分8根线分别连接的是哪行哪列。 *步骤二:按原理图接线,注意接线顺序 [[File:keyPadSetup4.png|600px|center|thumb]] *步骤三:下载程序 *将下载好的库文件夹放入Arduino IDE安装文件夹内的libraries中; *启动Arduino IED,打开Microduino提供的测试程序,板卡选择Microduino Core (Atmega328P@16M,5V),直接下载即可; *步骤四:测试 按下按键值观察OLED显示是否匹配。 ==扩展== *玩家在做某些应用是,引脚复用,可自定义更改矩阵键盘引脚。更改行在rowPins[ROWS]数组;更改列在byte colPins[COLS]数组。注意确定引脚是否复用,否则可能乱码。 *玩家可自行更改按键信息,在hexaKeys[ROWS][COLS]二维数组里。 ==结果== 通过调试,使用Microduino能够读取矩阵按键,并把信息用OLED显示出来。玩家可以尽情发挥想象,做些好玩的应用,比如密码锁。 ==视频== http://v.youku.com/v_show/id_XNjkxMzQyMjg0.html |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
第四十四课--Microduino 矩阵键盘使用/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息