从零开始制作一个5x5键盘矩阵。
大家好,欢迎回来。这是一些有趣又有用的东西。定制的5x5按钮矩阵板从头开始构建。
在这里,我们使用简单的行-列框架创建一个简单的25个按钮矩阵板,其中按钮排列在五行和五列中以形成按钮网格。当你按下按钮时,它完成了一行和一列之间的电路,由微控制器检测并显示在OLED屏幕上。
开发这个项目的目的是开发一个需要尽可能多的按钮的计算器项目;因此,我们创建了这个矩阵板来帮助我们在计算器项目的修补阶段。
本文是关于这个项目的整个构建过程,所以让我们从构建开始。
材料要求
这些是这个项目中使用的材料:
•定制PCB(由Seeed Studio Fusion提供)
•Tacktile按钮
•公头引脚连接器CON10
•电路试验板
•SSD1306 OLED屏幕
•树莓派PICO 2
•跳线
键盘设计流程
在项目开始时,我们将所有按钮排列成五行五列。
我们创建了一个按钮矩阵(受键盘矩阵板的启发),其中所有按钮都放置在行和列的网格中,每一行和列都连接到CON10头引脚连接器。
微控制器扫描矩阵,设置每一行高,然后检查每一列。按下按钮,行和列之间的电路就完成了。知道哪一行是高的,哪一列读取信号允许微控制器确定哪个按钮被按下。
这种方法减少了所需的I/O引脚数量,因为我们使用25个按钮,而标准方法需要所有按钮25个I/O引脚;然而,这种方法允许我们总共只使用10个I/O引脚。
通过创建原理图,我们能够导出网表并为这个项目开发电路板设计,其中包括将按钮放置在GRID配置中并根据原理图连接走线。我们完成了电路板,然后导出gerber数据,这些数据将与PCB制造商共享以创建样品。
Seeed Studio Fusion
在完成Gerber数据后,我们将文件上传到Seeed Fusion的网站上,并订购了带有黑色丝网的白色Solder mask。
pcb在一周内就收到了,考虑到比率,它们的质量是超级好的,这也是相当低的。
Seeed Fusion PCB服务为PCB制造和PCB组装提供一站式原型设计,因此,他们在7个工作日内生产出高质量的PCB和快速交钥匙PCB。
Seeed Studio Fusion PCB组装服务负责整个制造过程,从Seeed Studio FusionAgile制造和硬件定制到零件采购,组装和测试服务,因此您可以确保他们获得高质量的产品。
在衡量市场兴趣并验证工作原型之后,Seeed Propagate Service可以通过专业指导和强大的连接网络帮助您将产品推向市场。
PCB组装工艺
•组装过程开始于将所有25个开关放在矩阵PCB上各自的焊盘上;我们在这里使用6x6的粘性按钮,我们必须确保所有按钮都正确地添加到它们的垫上,因为一些按钮的销在放置在足迹时弯曲。
•接下来,我们用烙铁焊接所有的开关垫在板的底部。
•随后,我们将CON10公头引脚放在其位置,并从板的顶部焊接其焊盘。
•矩阵板现在组装。
树莓派Pico安装
•使用PICO 2, OLED显示器,breadboard,按钮矩阵和一些跳线,我们通过将从C1到C5的所有列引脚与GPIO16, GPIO17, GPIO18, GPIO19和GPIO20连接来创建基本设置。
•GPIO0、GPIO1、GPIO2、GPIO3、GPIO6连接第1 ~ 5行。
•OLED屏幕的VCC连接到PICO的VBUS,而GND连接到GND。
•OLED的SDA连接到PICO的SDA引脚(GPIO4), SCL连接到GPIO5,这是PICO的SCL引脚。
代码
下面是我们创建的一个快速测试图,看看是否所有的按钮映射都是正确的。
这段代码初始化一个OLED显示器,并设置一个按钮矩阵,其中行和列交换,以检测按钮按下。当按钮被按下时,它会识别被按下的按钮,在OLED屏幕上显示按钮编号,并相应地更新显示。
我们在这个草图中使用Adafruit_SSD1306库,在使用此代码之前,您需要先下载并安装该库。
结论
这是这个小按钮的最终结果,一个DIY键盘矩阵,可以使用几个I/O引脚在任何项目中添加多个按钮。在这种情况下,如果定期连接,我们总共有25个按钮,需要25个I/O引脚,但是这个矩阵允许用户只使用10个I/O引脚来控制25个按钮,如果使用的微控制器具有有限的I/O引脚,这是理想的。
本文编译自hackster.io