基于ESP32的便携式游戏机

基于ESP32的便携式游戏机

视频:

ESP32 pro

一、项目说明

欢迎来到复古游戏的世界!你是否曾经想要以便携格式重温童年的经典游戏?在这个教程中,我将指导你完成制作自己的手持复古游戏机的激动人心之旅。我们将使用Raspberry Pi Zero 2W、一个3.5英寸的TFT显示屏,以及其他一些容易获得的组件,来创建一个紧凑、便携的游戏设备,它将唤起你所有的怀旧记忆。

这个项目非常适合初学者和有经验的爱好者。它结合了软件设置、硬件集成以及在制作游戏机机身时的一点创意。通过本指南的学习,你不仅将拥有一个功能齐全的游戏机,还将更深入地了解不同组件如何协同工作。

实物图:

二、项目材料

电子组件:

  • Raspberry Pi Zero 2W
  • 3.5英寸TFT显示屏
  • 触摸开关
  • 按钮
  • 摇杆模块
  • ESP32C3微控制器
  • 跳线

制作材料:

  • 纸板
  • 旧报纸
  • 胶水
  • 水(用于制作胶水混合物)

电源和连接:

  • 移动电源(用于为游戏机供电)
  • USB数据线(用于连接外设)
  • 蓝牙扬声器或耳机(用于音频输出)

软件:

  • RetroPie操作系统(从RetroPie网站下载)

工具:

  • 烙铁
  • 面包板(用于原型设计)
  • 工艺刀(用于切割纸板)
  • 剪刀

三、程序测试

要开始,我使用Raspberry Pi Imager在microSD卡上安装了RetroPie。以下是我的做法:

  • 下载并安装Raspberry Pi Imager:首先,我从官方Raspberry Pi网站下载了Raspberry Pi Imager并安装到我的电脑上。
  • 选择RetroPie操作系统:我将microSD卡插入电脑并启动了Raspberry Pi Imager。我选择了"选择操作系统",导航到"仿真和游戏操作系统"部分,并选择了"RetroPie"。我选择了与Raspberry Pi Zero 2W兼容的版本。
  • 写入镜像:选择RetroPie后,我将microSD卡作为存储设备,并点击了"写入"。然后该工具下载并安装了RetroPie到microSD卡上。

安装完成后,我将microSD卡插入Raspberry Pi Zero 2W并开机。RetroPie启动了,我准备为我的手持游戏机配置系统。

四、设置LCD屏幕

为了将3.5英寸TFT LCD与RetroPie设置在一起,我需要通过终端安装必要的驱动程序。以下是我的做法:

首先,我通过在RetroPie中按F4键访问了终端。一旦进入终端,我通过输入git clone https://github.com/goodtft/LCD-show.git并按回车键,从goodtft的GitHub仓库下载了LCD驱动程序。下载完成后,我使用cd LCD-show/命令进入了下载的目录。在这个目录中,我找到了几个不同型号TFT显示屏的安装脚本。为了安装我的特定TFT显示屏型号的驱动程序,我运行了相应的脚本。对于我的LCD35型号,我输入了sudo ./LCD35-show并按了回车键。

我按照安装过程中的屏幕提示进行操作,这个过程花了几分钟。安装完成后,系统提示我重启我的Raspberry Pi Zero 2W。重启后,RetroPie自动检测并配置了TFT显示屏。我通过连接的外设导航RetroPie界面来测试显示屏。这个设置使我的3.5英寸TFT显示屏能够与我的Raspberry Pi Zero 2W上的RetroPie无缝协作,提供了极佳的复古游戏体验。

关于你提到的GitHub链接,如果你在尝试访问时遇到了问题,可能是因为网络原因或者链接本身的问题。请确保链接是正确的,并且你的网络连接是稳定的。如果问题仍然存在,可能需要稍后再试,或者检查是否有任何网络限制导致你无法访问GitHub。如果你需要进一步的帮助来解决这个问题,我可以提供支持。

五、控制设置

最初,我使用触摸开关来测试控制。在最终构建时,为了更好的便利性和耐用性,我换成了按钮。然而,我面临D-pad按钮的短缺。幸运的是,我在组件盒中发现了一个摇杆模块,并决定使用它。由于Raspberry Pi不支持通过GPIO引脚的模拟数据,我使用了一个ESP32C3微控制器作为模拟到数字的转换器。

首先,我校准了摇杆模块以确保输入准确。我将摇杆模块连接到ESP32C3微控制器,然后将微控制器与Raspberry Pi进行接口连接。这个设置允许摇杆作为D-pad使用,为我的游戏提供了精确的控制。

六、测试电路

在将组件组装到最终的外壳之前,我在面包板上测试了整个电路。我将Raspberry Pi、3.5英寸TFT LCD、按钮、摇杆模块和ESP32C3微控制器连接在面包板上。在为Raspberry Pi通电后,我验证了所有组件是否能够正确协同工作。我确保显示屏能够显示RetroPie界面,按钮能够准确响应,摇杆模块能够作为D-pad工作。这一步骤对于在最终组装前识别和解决任何问题至关重要。

七、外壳制作

为了制作我的手持游戏机的外壳,我使用了用胶水和旧报纸加固的纸板。首先,我将纸板剪成适合所有组件所需的形状和大小。我将胶水和水混合成糊状,然后涂在纸板上,并用几层报纸覆盖。这种技术增强了纸板的强度,使其足够坚固,能够保护组件。一旦胶水干透,纸板变得坚固,我就直接在纸板上组装了电路。我确保所有组件,包括Raspberry Pi、LCD、按钮和摇杆,都牢固地连接在一起。这种方法为我提供了一个简单而有效的手持游戏机外壳。

八、结果

外壳完成后,我通过固定所有组件来组装最终产品。虽然内置锂离子电池会是理想的选择,但我最初使用了一个移动电源来为游戏机供电。这种设置是功能性和方便的,让我能够在不担心内部电源的情况下享受游戏。

为了测试最终产品,我通过USB数据线将移动电源连接到Raspberry Pi并打开了游戏机。移动电源有足够的容量为我的游戏会话提供足够的运行时间。我玩了一系列NES和GBA游戏,包括"口袋妖怪绿宝石"、"龙珠Z"、"超级马里奥"、"魂斗罗"、"Zippy Race"和"大金刚"。游戏机表现良好,游戏玩法流畅且响应灵敏。

尽管游戏机没有内置扬声器,但它能够连接到蓝牙扬声器和耳机进行音频输出。这增加了手持游戏机的便携性和便利性,使其成为一个真正多功能的设备,适合随时随地进行复古游戏。最终产品是我努力的令人满意的成果,将各种组件结合成一个功能性和愉快的手持游戏机。

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!

相关推荐
铁手飞鹰22 分钟前
[linux驱动开发--环境搭建] qemu-9.1+linux-kernel-6.11
linux·服务器·驱动开发
黄小孑-工作室5 小时前
基于Multisim的音频放大电路设计与仿真
硬件工程
RIGOL小普10 小时前
如何用李萨如图形测正弦信号的频率?若不使用李萨如图形,如何用示波器测交流信号频率?
单片机·嵌入式硬件·fpga开发·硬件工程·射频工程
挨踢小明1 天前
phy自协商逻辑和原理
驱动开发
在岸上走的鱼2 天前
AD画的原理图如何导出PDF
嵌入式硬件·pdf·硬件架构·硬件工程
三菱-Liu2 天前
三菱FX5UPLC 安全功能
驱动开发·嵌入式硬件·安全·硬件工程·制造
金子总会发光的1232 天前
Air780E量产binpkg文件的获取方法
嵌入式硬件·物联网·硬件工程
Hello_World初入门3 天前
深度探索:超实用阿里云应用之低功耗模组AT开发示例
服务器·单片机·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程
ICGOODFIND3 天前
STMicroelectronics意法半导体车规芯片系列--亿配芯城(ICgoodFind)
单片机·嵌入式硬件·物联网·fpga开发·硬件架构·硬件工程·dsp开发
板图艺术家3 天前
低功耗模组学习指南:从入门到精通通过MQTT连接实现远程控制
git·单片机·嵌入式硬件·物联网·github·硬件工程·1024程序员节