当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]对于游戏,我们从零开始创建了传统的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

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭