当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]对于游戏,我们从零开始创建了传统的Snake游戏,使用一个简单的Snake实体,可以通过四个方向按钮来控制。随机地,一个红点出现在矩阵面板上,我们可以使用方向按钮引导蛇吃掉这个随机的红点。在右上角,我们还添加了一个分数标记,它记录了我们的蛇消耗了多少红点。

大家好,欢迎回来,这里有一些超级有趣的东西。

贪吃蛇游戏机是一款便携式游戏机,具有特别设计的树莓派PICO 2驱动电路和RGB 64x32 P3矩阵面板。

我们在Fusion360中建模设备,3D打印框架,并将其与矩阵面板和定制pcb组装在一起,制作我们自己的游戏机。

对于游戏,我们从零开始创建了传统的Snake游戏,使用一个简单的Snake实体,可以通过四个方向按钮来控制。随机地,一个红点出现在矩阵面板上,我们可以使用方向按钮引导蛇吃掉这个随机的红点。在右上角,我们还添加了一个分数标记,它记录了我们的蛇消耗了多少红点。

此外,当蛇咬到自己的身体时,游戏就结束了。

这款游戏机有一个机载电源,它是一个3.7V 2600mAh的锂离子电池,为设备供电,使它成为一个便携式游戏系统,我们可以带着它去任何地方玩。

本文涵盖了这个项目的整个构建过程,所以让我们开始吧。

材料要求

这些是这个项目中使用的材料:

•定制pcb(由PCBWAY提供)

•树莓派PICO 2

•RGB矩阵64x32

•IP5306集成电路

•10 uf电容器

•USB微接口

•18650锂电池

•18650电池座SMD版本

•按钮

•3D打印部件

64x32 RGB矩阵

我们使用的是64x32 RGB矩阵面板,它通过在64 × 32网格中安排2048个RGB led来创建生动的文本,图形和动画。

HUB75接口使用多个控制引脚,包括RGB、地址、时钟、数据锁存器和输出使能引脚,用于操作该面板。

行-列扫描技术是通过HUB75链路实现的,它将一行像素数据转移到移位寄存器中。然后使用解复用器来确定应该显示哪些行。RGB通道、寻址引脚A、B、C和D、时钟信号(CLK)、锁存信号(LAT)和输出使能(OE)引脚都包含在HUB75连接器中。

我们还可以使用提供的in和OUT连接成对地链接几个面板,以创建一个链。确保我们正在使用的控制解决方案(PICO 2)可以管理两个或多个显示器的额外数据负载,这是连接多个面板的困难之一。

至于采购这个矩阵面板,我们从PCBWAY礼品店得到了它。

控制台的设计

这个项目的第一阶段是建立一个控制台的3D模型,它有两个类似手柄的组件安装在矩阵的背面。然后我们在一边创建了一个特殊按钮板的模型。

PICO驱动电路,用四个垫片固定在手柄框架上,位于设备的背面。

使用已经在矩阵上的三个M3插入件,两个Handgrip框架组件从矩阵面板的背面安装。每个手柄有三个安装孔,我们添加,以便M3螺栓可以用来连接手柄到矩阵。

使用4颗M2螺钉将按钮板固定在控制台一侧。

模型完成后,我们导出了左右把手和四个垫片的网格文件,然后使用0.6mm喷嘴在黑色PLA中3D打印它们。

PCB设计:PICO驱动

使用我们的PCB Cad软件,我们首先创建PICO驱动板设计的原理图。为了将树莓派PICO 2连接到矩阵的HUB75连接器,我们的设置由CON 16连接器组成。

我们将矩阵的HUB75引脚(CON 16)按以下顺序连接到PICO的GPIO引脚:A到GPIO19, B到GPIO16, C到GPIO18, D到GPIO20, E到GPIO22, CLK到GPIO11, LAT/STB到GPIO12, OE到GPIO13, R1到GPIO2, G1到GPIO3, B1到GPIO4, R2到GPIO5, G2到GPIO8, B2到GPIO9。

我们为按钮添加了一个CON5连接器,它的四个引脚连接到PICO的GPIO6, GPIO7, GPIO14和GPIO15。GND连接到CON5的第五个引脚。每个GPIO将被连接到这个CON5的按钮板拉到GND, PICO可以检测到这是一个按钮按下。

我们还集成了一个电源管理IC, IP5306,一个完全集成的多功能电源管理SoC,为整个设置供电。

它可以使用3.7V作为输入提供稳定的5V 2.1A,可用于为任何5V设备供电-在我们的实例中,矩阵和PICO 2。

在原理图设置之后,我们导出网表,并通过参考CAD文件的板布局创建板文件。PICO 2,按钮,锂电池支架和USB迷你端口都在板的顶部,而所有的SMD组件都在底部。

PCB设计:按钮板

接下来,我们得到按钮板的原理图准备。它有四个按钮,每个按钮的4和3引脚连接到GND。此外,还有一个CON5连接器,连接到每个连接器的1和2用于GPIO, 3和4用于GND。

在建立了原理图之后,我们使用PCB编辑器通过在适当的位置对齐按钮并完全按照CAD文件布局来准备板文件。

PCBWAY

我们为这个项目制作了两个pcb:按钮板和PICO驱动板。下了两个订单:一个是按钮板,一个是PICO驱动板。

按钮板PCB订购了白色阻焊和黑色丝印,而PICO驱动器PCB订购了蓝色阻焊和白色丝印。

下订单后,PCB在一周内收到,PCB质量非常好。

在过去的十年中,PCBWay通过提供出色的PCB制造和组装服务而脱颖而出,成为全球无数工程师和设计师值得信赖的合作伙伴。

他们对质量和客户满意度的承诺一直坚定不移,导致了显着的增长和扩张。

如果你想以合理的价格获得优质的PCB服务,你可以看看PCBWAY。

PCB组件:pico驱动器

使用焊膏分配针,我们将焊膏(在本例中为63/37 Sn/Pb焊膏)涂抹在每个SMD组件PAD上,以开始PICO Driver组装过程。

接下来,我们使用ESD Tweeser来选择和定位PCB上的每个SMD组件。

在元件放置之后,将电路抬起并置于回流加热板上,从而将PCB的温度从下面提高到锡膏的熔点。当PCB达到190°C的温度时,锡膏熔化,所有SMD组件都安全就位。

按照回流过程,我们翻转板,并使用烙铁定位18650持有人。

安装好USB微端口和Push Switch后,我们翻转电路板并焊接它们的两个焊盘。

测试动力部分

在继续进行PICO DRIVER组装过程之前,我们停止组装过程,并通过将18650 3.7V 2600mAh锂电池以正确的极性放置在其电池支架中来验证功率模块电路。

当我们按下按钮时,设备就会打开。我们用万用表测量设备的输出电压,应该是5V。我们现在可以将PICO 2添加到PCB并开始组装过程。

PCB组件:PICO驱动器(组件的其余部分)

在PICO 2插槽上定位两个CON 20母头引脚,在HUB75连接器插槽上定位两个CON 8公头引脚后,我们将电路板翻转过来,使用烙铁焊接它们的焊盘。

最后,我们将锂电池重新安装在电池支架中,并将树莓派PICO定位在CON 20引脚上。

完成PICO驱动程序组装。

PCB组装:按钮板

为了开始按钮板组装过程,我们首先从板的顶部定位按钮,然后我们从底部焊接它们的焊盘。

PICO驱动和矩阵组装

使用矩阵套件中包含的线束,我们首先连接PICO驱动器和矩阵。我们将线束的正极焊接到PICO DRIVER的5V输出,负极焊接到PICO DRIVER的GND。

接下来,我们将母线束连接器连接到矩阵的公连接器。

然后使用HUB75线束连接矩阵和PICO驱动程序gpio。它首先插入矩阵连接器,然后它的另一端连接到PICO驱动器。

测试素描:游戏人生

我们首先连接matrix和PICO DRIVE,然后使用我们之前转换的Game of Life代码(取自FastLED库的示例草图)闪现PICO,以查看我们的配置是否有效。

著名的元胞自动机“生命游戏”是由英国数学家约翰·霍顿·康威于1970年发明的。因为这是一款零玩家游戏,所以不需要额外的输入;相反地,游戏的进程是由其初始状态决定的。

游戏将以随机配置开始,并在它停止后以新的随机配置重新开始,是的,这个设置是图灵完成的。

我们在这里使用Adafruit_Protomatter库,在使用此代码之前,您需要在Arduino IDE上安装该库。

框架与矩阵装配

通过将两个3d打印手柄框架的安装孔与矩阵的安装孔对齐,我们现在可以将它们连接到矩阵的背面。然后使用6个M3螺栓将框架和矩阵连接在一起。我们可以很容易地连接框架和矩阵与M3螺栓感谢M3黄铜插入已添加到矩阵的背面。

按钮板框组件

从控制台前方定位按钮板,使用4颗M2螺钉固定。

微型驱动器和框架组件

现在,我们使用四个3d打印垫片将PICO DRIVER放置在3d打印框架上的控制台背面。

我们将PICO驱动器放在框架安装孔上方的四个垫片上,然后使用M3螺钉将PICO驱动器固定在框架上。

最终组装:按钮板和微型驱动器线连接

将DPAD按钮PCB和PICO驱动板连接在一起是组装过程中的最后阶段。

要做到这一点,我们首先向按钮板的CON5端口添加五根连接线,然后以正确的引脚顺序将每根连接线连接到PICO DRIVER。

按钮板的UP引脚连接GPIO7, DOWN引脚连接GPIO6, LEFT引脚连接GPIO15, RIGHT引脚连接GPIO14。

一旦PICO驱动器和按钮板之间的电线连接,我们小心地将额外的电线长度塞在框架内,并用一小块热胶固定。

贪吃蛇游戏控制台组装现已完成。

主要代码

这是我们在这个项目中使用的主要代码,它很简单。

本代码分为七个部分,分别是:

库和引脚定义-其中包括Adafruit_Protomatter库,用于控制RGB矩阵以及RGB信号,地址线,时钟,Snake长度,锁锁和输出启用以及按钮的引脚,也在这里定义。

矩阵初始化和蛇形结构——在这里,矩阵被设置为宽度、高度、RGB引脚、地址引脚、时钟、锁存器和输出使能。定义蛇段的结构,初始化蛇的长度、方向、颜色、食物位置、分数和游戏结束标志。

放置食物功能-将食物放置在母体上,确保它不会与蛇的位置重叠。

设置功能-初始化矩阵和按钮引脚。将蛇放置在屏幕中间并放置最初的食物。

drawscore在屏幕上显示分数。drawGameOver显示“游戏结束”消息和分数。

游戏逻辑功能- checkgameover检查蛇是否与自己碰撞,设置游戏结束标志。resetGame重置游戏变量并初始化蛇的位置。

主循环-控制主要的游戏逻辑,包括蛇的运动,食物的放置,分数更新,绘图和游戏结束检查。

循环检查按钮输入以控制蛇的方向,更新蛇的位置,处理屏幕包装,检查食物消耗,并更新显示。如果游戏结束,它会显示“游戏结束”消息,等待5秒,然后重置游戏。

结果

这是这个冗长但简单的构建的最终结果:一个功能完善的手持蛇游戏控制台。它有一个集成的电池,使用户可以随身携带,并在旅途中玩游戏。

我们可以用DPad控制Snake的动作。目标是消耗尽可能多的食物或红点;屏幕右上角的分数标记位置表示我们的进度。

Snake可以跨越显示边界,但是如果它在游戏过程中不小心割伤了自己,游戏便会结束,你便会看到一个红色屏幕,上面写着“游戏结束”以及你的分数。等待5秒后,游戏将重新开始并继续。

通过点击控制台背面的PUSH按钮,可以打开或关闭整个设备。

我们可以使用MICRO B线和标准的5V智能手机充电器为锂电池充电。充电期间状态LED将继续闪烁,但它将停止闪烁并在电池充满电后保持亮起。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭