在这篇文章中,我们将学习如何接口4x4键盘与Arduino。我们会看到什么是键盘,它是如何构造的,以及如何编程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};
keyypad (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 = keyypd . waitforkey();”,这意味着程序将等待一个键被按下,被按下的键将被存储在一个变量“key”中。这个变量使用“serial .print();”打印在串行监视器中。
如果你想知道键盘在哪里使用?好吧,这就是答案。它无处不在,用户需要输入任何机器,例如:智能手机或你正在使用的计算机,ATM机,自动售货机,打印机,你的电视遥控器的控制等。
到目前为止,您已经对键盘以及如何将它们与Arduino连接在一起有了一定的了解,现在是时候发挥您的想象力来构建您自己的项目了。
您需要从以下链接下载并添加键盘库:github.com/Chris--A/Keypad。否则上述程序将无法编译
它的好。现在我的要求是我如何使用arduino和那个键盘来进行编码,通过按键盘上的数字来做一个密码门锁和解锁,当按下某些数字时,门就会打开当按下其他数字时,门就会关闭。非常感谢
你好戴维斯
在下一篇文章中,我将做类似的工作。所以,请继续关注…
问候