在这篇文章中,我们将学习如何用Arduino接口一个4x4键盘。我们将看到什么是键盘,它是如何构造的,以及如何编程Arduino来接收键盘上的按键,并在串行监视器中打印它们。
什么是键盘?
小键盘是由数字、字母和特殊字符或三者的组合组成的小型便携式键盘。在这个项目中,我们将看一看4x4矩阵键盘,它有上述指定的所有三种类型的键。
它被称为4x4,因为它有4行4列,以矩阵形式排列。它有从0到9的数字,特殊字符" # "和" * "和字母从A到d。还有其他类型的键盘,如4x3, 8x8等。最常见的类型是4x4和4x3。
对于4x4键盘,行4个连接,列4个连接,用于与单片机通信,总共有8个引脚。
这可能会消耗大量来自Arduino的I/O引脚,并为其他外设留下较少的I/O引脚,还有其他方法通过利用Arduino的少量引脚来接收按键,这在本文中没有涉及。
施工细节:
连接电路如下图所示:
从上面的图表中我们可以推断出,每个键都连接到一行和一列。当任意一个键被按下时,例如数字1,R1和C1被连接,arduino或任何一个微控制器都会接收到这个信号,并决定按下了哪个键,对于每个键,都进行了唯一的连接。
我们可以从电子商务网站或本地电子零售商获得4x4键盘,或者你可以从上图中制作一个。你只需要16个按钮4x4键盘和一个通用的PCB。这些联系可以从上面的图表中找到,你自己也做了一个。
Arduino键盘电路图及程序:
这是一个原型,其中的连接是使用阳头到阳头销。电路的其余部分不言自明。
下面是它如何连接到Arduino:
注意:在连接小键盘和arduino的引脚时要小心,任何不正确的连接或任何电线互换,都可能会扰乱你的整个项目。
从Arduino和键盘的引脚2到引脚9依次进行所有连接。这都是关于硬件连接的,现在让我们进入编码部分。
程序代码:
//--------------- 项目由R.Girish——/ /
# include < Keypad.h >
const byte ROWS = 4;
const byte COLS = 4;
字符键(行)[关口]=
{
{'1', '2', '3', ' a '},
{'4', '5', '6', ' b '},
{'7', '8', '9', ' c '},
{'*', '0', '#', ' d '}
};
byte rowPins[ROWS] = {9,8,7,6};
字节colPins[关口]= {5 4 3 2};
Keypad Keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
无效的设置(){
Serial.begin (9600);
}
无效循环(){
char key = keypad.waitForKey();
延迟(100);
系列。打印(“你追问:”);
以(关键);
}
//--------------- 项目由R.Girish——/ /
输出:
使用键盘
在程序中使用了二维数组的概念,正如我们所见,程序中的布局与键盘中的布局相同。排销为9、8、7、6,销列为5、4、3和2。
我们使用一行" char key = keypad.waitForKey(); ",这意味着程序将等待一个键被按下,按下的键将存储在一个变量' key '中。该变量在串行监视器中使用“serial .print();”打印。
如果你想知道键盘在哪里使用?好吧,这就是答案。它无处不在,用户需要向任何机器输入信息,例如:智能手机或你正在使用的电脑,ATM机,自动售货机,打印机,电视遥控器等。
到目前为止,您已经对键盘以及如何将它们与Arduino接口有了一定的了解,现在是时候发挥您的想象力来构建自己的项目了。
您需要从以下链接下载并添加键盘库:github.com/Chris--A/Keypad。否则上面的程序将无法编译
你好戴维斯
在接下来的文章中,我也将做类似的事情。所以,请继续关注…
问候
它的好。现在我的要求是如何使用arduino和键盘进行编码,通过按键盘上的数字使密码门锁解锁,当按下某些数字时,门打开,当按下其他数字时,门关闭。非常感谢