从零开始做了一个小的DIY乒乓游戏控制台
扫描二维码
随时随地手机看文章
大家好,欢迎回来!这是Pong PRO,一个自制的迷你游戏设备,可以运行Pong。
在这里,我们在带有SSD1306 OLED屏幕的ESP32 Dev板上运行《PONG》,并使用两个方向按钮控制杆。然后,所有的东西都固定在独特的3d打印手柄上,允许用户正确操作控制器。
这个项目是基于我们以前的Macropad项目的pcb,它本质上是一个ESP32分线,两个按钮连接到微控制器和一个124x32 OLED显示器。模拟两个手柄,并将项目转化为一个功能齐全的PONG游戏控制台。
对于这个项目,我们甚至从头开始设计了自己的PONG游戏,本文将介绍整个构建过程,因此让我们从构建开始。
材料要求
这些是这个项目中使用的材料:
•定制PCB(由HQ Next PCB提供)
•ESP32开发板
•按钮SMD
•SSD1306 OLED 128x32
•PCB压铆螺母柱
•M3螺栓
•3D打印部件
三维模型
本项目的3D模型由原来的Macropad Assembly组成,由三层组成:顶层,中间层,底层,所有层都通过M2.5 PCB支架连接在一起。在这个设计中,我们删除了底层,只保留了顶层和中间层。
中间层包含所有电子元件,包括ESP32微控制器板,SSD1306 OLED屏幕和两个SMD按钮。顶层作为中间层的非道德盖板,中间层有三个开口:一个用于OLED显示器的矩形孔径和两个开关致动器。
开关执行器建模并定位在顶层开关开槽和SMD开关旋钮之间。
由于开关执行器和开关旋钮彼此完美地放在一起,挤压开关执行器也会压住旋钮,导致开关咔嗒声。
为了符合人体工程学,我们从世嘉创世纪控制器中获得灵感,设计了两个手柄部分,使用M2.5 PCB支架连接两个PCB层。
模型完成后,将开关执行器和手柄导出为网格文件,并使用橙色PLA和0.4mm喷嘴进行3D打印。
PCB设计
这个项目的PCB设计很简单;我们使用带有D0和D1 I/O引脚的XIAO ESP32板将其连接到两个SMD开关。我们还将OLED显示器与微控制器结合在一起,微控制器连接到XIAO的I2C端口。
我们根据模型的尺寸创建了两块板:顶层板和中间层板。由于中间层板和底层共用相同的形式和安装孔,所以我们将其用于底层。
HQ NextPCB服务
PCB设计完成后,我们导出Gerber数据,发送给HQ NextPCB取样。
对于中间层和顶层板,有两个订单。我们为中间层和顶层板订购了一个黑色的带白色屏幕的阻焊板。
下订单后,PCB在一周内收到,PCB质量非常好。
另外,我要把HQDFM带给你,它在很多项目中给了我很大的帮助。华秋的内部工程师开发了免费的制造设计软件HQDFM,彻底改变了PCB设计师如何可视化和验证他们的设计。
利用NextPCB的加速器活动,为您的创新项目获得2个免费组装的基于rp2040的pcb。
此报价涵盖所有费用,包括物流,使您的想法更容易,更实惠的生活。SMT服务可能很昂贵,但NextPCB可以帮助您克服这一障碍。只要分享你的相关项目,他们就会处理好剩下的事情。不要错过这个提升你的科技创作的绝佳机会!
HQDFM:免费在线Gerber查看器和DFM分析工具
此外,NextPCB有自己的Gerber Viewer和DFM分析软件。
您的设计可以通过他们的HQDFM软件(DFM)服务得到改进。因为我发现等待制造商的DFM报告很烦人,所以HQDFM是执行事件前自检的最有效方法。
以下是在线Gerber Viewer向我展示的内容。再清楚不过了。然而,对于完整的功能,如DFM分析的PCBA,你需要下载的软件。在线版本仅提供简单的PCB DFM报告。
具有全面的制造设计(DFM)分析功能,HQDFM是一个免费的,复杂的在线PCB Gerber文件查看器。
它利用超过15年的行业专业知识提供了对先进制造的见解。如果你想以合理的价格获得优质的PCB服务,你可以看看HQ NextPCB。
印刷电路板组装
•使用锡膏点针,我们开始PCB组装过程,将锡膏放在每个组件垫上。
•接下来,我们使用ESD镊子挑选并放置SMD开关在其位置。
•随后,我们取出电路板并将其放在Reflow热板上,这将PCB的温度从下面提高到焊膏融化的点,并且SMD组件都连接到它们的焊盘上。
•我们将从PCB背面插入的两个CON7母头引脚连接器的焊盘连接到XIAO微控制器的位置。
•我们从顶部添加OLED后将其焊接到位。
•板装配现在已经完成。
控制台组装
通过四个安装孔将9mm PCB支架连接到电路板的顶层是我们开始层组装过程的方式。
翻转顶层板,将两个3d打印的开关插入指定槽位。
接下来,中间层从顶层的底部开始定位。
然后,我们将3d打印的左手和右手手柄放置在中间层上,并用两个M2.5螺钉固定在PCB支架上。
将两个手柄连接到连接PCB顶层和中间层的支架后,我们安装了XIAO ESP32并完成了控制台组件。
代码
让我们看一下我们构建的代码,这是一个简单的代码。
我们用两个按钮来控制桨。它包括显示和按钮的初始化,跟踪球拍和球位置的变量,以及处理球运动、球拍控制和碰撞检测的游戏逻辑。
游戏以“PONG PRO”的欢迎屏幕开始,并在游戏结束时显示“你赢了!”或“你输了!”的信息,这取决于玩家或电脑是否错过了球。然后游戏重新开始下一轮,继续循环,直到设备关闭。
结果
这是这个简单而有趣的构建的最终结果:一个运行PONG的超级小型手持游戏设备。在这个游戏中,我们的对手是电脑,我们正在和它比赛。当电脑没有击中球时,会出现一个闪屏,表明我们赢了;如果我们错过了球,一个闪屏出现,表明我们已经输了。
总的来说,这是一个有趣的小项目,几乎完成;然而,因为这个设备是通过USB端口供电的,我们没有包括电池,我们将在这个项目的下一个迭代中解决这个问题。
本文编译自hackster.io