如何自定义5x5键盘

从零开始制作一个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引脚,这是理想的。

相关推荐
开开心心就好14 小时前
手机虚拟化学实验室,混合燃烧都能模拟
jupyter·智能手机·ffmpeg·计算机外设·电脑·音视频·visual studio
开开心心就好16 小时前
手机电池健康怎么查?看容量温度循环次数
spring·智能手机·ffmpeg·计算机外设·电脑·maven·音视频
开开心心_Every2 天前
文件查重软件批量删除重复文件释放空间
java·开发语言·c#·计算机外设·ocr·excel·perl
雪碧透心凉_3 天前
PythonWin32API窗口与鼠标操作
开发语言·python·计算机外设
遇见小修修3 天前
电脑无法正常启动原因分析 零基础排查教程
计算机外设·电脑
硅基手札3 天前
【I2C 技术系列 11】I2C Linux 驱动框架
linux·驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
开开心心就好4 天前
把手机变成电脑麦克风,WiFi连接就能用
智能手机·ffmpeg·计算机外设·电脑·word·音视频
硅基手札4 天前
【I2C 技术系列 08】I2C 控制器寄存器与 IP 架构
驱动开发·stm32·单片机·嵌入式硬件·mcu·架构·计算机外设
硅基手札4 天前
【I2C 技术系列 09】I2C 传输模式:轮询 / 中断 / DMA
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
打工仔折腾 AI4 天前
鸿蒙平板远控电脑实测:ToDesk蓝牙键鼠、双模式鼠标与跨端剪贴板落地记录
人工智能·后端·python·性能优化·计算机外设·电脑·harmonyos