2022-2-25 15:58:12 [显示全部楼层]
71720浏览
查看: 71720|回复: 13

[项目] 做一个基于树莓派 Zero的复古游戏主机

[复制链接]
翻译:趣无尽

做一个基于树莓派 Zero的复古游戏主机图1

尽管基于树莓派开发的复古游戏机有不少作品,也很容易买到。我们之前也介绍过「可能是目前最顶配的DIY树莓派游戏掌机:复古ComputeModule 3」、「儿时的快乐!用树莓派从零打造一台街机」

但是还是有必要推荐一下下面这款——基于树莓派 Zero 的复古游戏机。

因为它给我们展示了两个版本,其中包含了面包板搭建的版本,更加便于理解游戏机搭建的原理,并大幅降低了自己 DIY 的门槛,所用到的材料也很容易获得。

这个项目主要的特性如下:
  • 使用 PAL 制式显示屏
  • 由 Raspberry Pi Zero 驱动,采用 RecalBox OS 操作系统,该系统还附带一些预装游戏
  • 由 IP5306 IC 供电,该 IC 是用于移动电源电路的 5V 2A 恒定升压 IC,非常适合为 Raspberry Pi Zero 供电
  • 项目的前半部分为面包板版本,后半部分为 PCB 版本。
材料清单
  • Raspberry Pi Zero × 1
  • 16 GB 存储卡(8 GB 也可) × 1
  • TV 屏幕 × 1
  • HDMI 转 micro HDMI 适配器 × 1
  • 5V 2A 充电器/电源可稳定输出 2A × 1
  • 键盘 × 1
  • USB 转 microUSB 适配器 × 1
  • RecalBox OS 映像文件/ Raspberry Pi Image Flasher × 1
  • 普通按键 × 1
  • 定制 PCB 板 × 1
  • IP5306 IC × 1
  • 10uf 0805 电容 × 1
  • USB 端口 × 1
  • microUSB 端口 × 1
  • 带有 CON2 连接器线的锂离子电池 × 1
  • CON2 连接器 × 1
  • 10k 0603 电阻 × 1
  • 2R 0805 电阻 × 1
  • 垂直按钮 × 1



一、初步构想
做一个基于树莓派 Zero的复古游戏主机图2

设备包括 PCB 板和 3D 打印外壳,两者由螺钉连接起来。

正面是显示器和按钮,使用 4.3 英寸的显示屏,尺寸大约是 135mm x 140mm,比普通的 Gameboy 屏幕大,反面是 Raspberry Pi Zero 同升压转换电路和锂离子电池。

二、配置 RecalBox 系统

  • 下载 Raspberry Pi 映像文件

  • Select the right OS for your device 这里选择 RecalBox

  • Select your system 这里选择 Rpi0

安装完成后,将树莓派接上电视屏幕和键盘。

启动设备,RecalBox 就可以正常工作了。


三、GPIO 接线原理图
做一个基于树莓派 Zero的复古游戏主机图3

注:原理图中将按键一端连到 GPIO 口,一端接地。

高清版本的原理图可以点击阅读原文下载。

四、显示器与 GPIO 控制
做一个基于树莓派 Zero的复古游戏主机图4

显示器种类有很多,既有 HDMI 端口,也有带状电缆端口,在这里从成本考虑选用 PAL 制式的车载显示器(带 PAL 端口)。因为车载显示器工作电压为 12V,而这里需要 5V 或 3.3V 的显示器,所以需要对显示器内部降压电路进行改装,这里移除了 12V 转 3.3V 的降压芯片,并在 Vout 端的电容上增加 VCC 和 GND ,为显示器提供 5V 电压。

做一个基于树莓派 Zero的复古游戏主机图5

为使 PAL 端口运行显示器,需要在配置文件中编辑一些内容。用键盘在网络设置中输入 SSID 和密码。(将其与 winSCP 连接)

需要编辑以下内容:
SDTV 输出的设置
HDMI 显示器连接到的 Raspberry Pi 上就会输出其视频信号,但在 PAL 端口下,需要设置 SDTV 的输出。

进入 boot > config.txt 更改默认设置,从 sdtv_mode 中删除 # 并添加 sdtv_aspect = 1,此外,在 HDMI lines 前加 #。(如图,检查 Boot/config.txt 并复制其中的内容)

做一个基于树莓派 Zero的复古游戏主机图6
GPIO Control
GPIO 口与按键的设置。

进入 recalbox > share > system > recalbox.conf

通过以下两步启用 GPIO 外接按键

设置 controller.gpio.enabled=1(之前是 0)并将 controller.gpio.args.map=1,2 更改为 controller.gpio.args.map=1(2 是第二个玩家)

做一个基于树莓派 Zero的复古游戏主机图7

更改完默认设置(如图,检查 D2 GPIO Controlers),然后重启,RecalPi 便可适用于 PAL 端口和自定义按键。


五、完善面包板版本
做一个基于树莓派 Zero的复古游戏主机图8

这里用了定制的 GPIO 适配器,接线有所变化,参考图片将按键一端连到 GPIO 口,一端接地,完成后可以通过接 TV 测试按键是否正常工作,没问题后将 TV 更换成车载显示器,车载显示器的 VCC 接到 5V,地线连到一起,然后用 5V 2A 的电源供电,车载显示器显示画面则成功(注意之前的 SDTV 设置)。

做一个基于树莓派 Zero的复古游戏主机图9

做一个基于树莓派 Zero的复古游戏主机图10


六、设计电路板
做一个基于树莓派 Zero的复古游戏主机图11

根据面包板搭建的电路绘制 PCB 文件,包括 13 个按键与 Rpi Zero 相连,加 IP5306 IC 驱动的电源电路。其中 IP5306 是一款适用于 3.7 V 锂离子电池的电源管理芯片,可以调节输出电压的大小,这里将其提升到 5V 2A 适用于 Raspberry Pi 和车载显示器。

设计流程如下:

首先在 Fusion360 中设计整体结构,然后利用 Fusion360 的 PCB Layout 在 My PCB Cad 软件中对 PCB Outline 进行建模。(这里在经典的 Gameboy 布局中放置了额外的热键按钮)

做一个基于树莓派 Zero的复古游戏主机图12

做一个基于树莓派 Zero的复古游戏主机图13

做一个基于树莓派 Zero的复古游戏主机图14


七、电路板打样
将生产文件 Gerber 给到 PCB 制板厂商打样。

Gerber 文件点击阅读原文可以下载。


、焊接 PCB 板SMD 元件焊接

将焊膏涂到待焊焊盘上,摆放好元件后,将 PCB 板放到 SMD 加热板上进行回流焊,加热板从底部向上加热 PCB 板至焊膏熔化,焊膏熔化时从加热板上取下 PCB 板冷却 3-4 分钟。之后按照正确的元件焊接顺序,依次重复此操作。
THT 元件焊接
将 USB 端口、按键和 CON2 连接器添加到 PCB 板,然后焊接。

最后焊接排母。PCB 板的焊接就大功告成了,接上锂离子电池,在 USB 端口处接 USB 电源监视器,检查 USB 的输出是否为 5V,没问题后接入 Raspberry Pi Zero W(已安装 RecalBox,并完成配置文件的更改)。


九、整体组装
做一个基于树莓派 Zero的复古游戏主机图15

利用 3D 打印的支撑部件将显示器固定到 3D 打印的外壳上,用四个 M2 螺丝将电路板安装到外壳上,并将显示器的 VCC、GND 和 PAL 端口与 Raspberry Pi 和电路板连接起来。完成后就可以通过 ON – OFF 垂直按钮启动 Recalbox 了。

3D 打印文件点击阅读原文下载。

完成!开启你的复古游戏之旅吧!


十、添加更多游戏
添加游戏只需下载相应 ROM 即可,具体操作如下:

做一个基于树莓派 Zero的复古游戏主机图16

进入 Settings > Network Settings,添加路由器的 SSID 和密码,将树莓派连网,可以在网络设置菜单的顶部看到树莓派的 IP 地址。然后在电脑上打开 Win SCP,输入树莓派的 IP 地址,用户名是 root,pi 的密码是 recalboxroot。

进入 recalbox > share > rom,这里包含所有的 ROM 文件,如果想玩其中一款游戏,只需将其 ROM 文件复制粘贴到 GBA 文件夹中即可。

重启树莓派后打开 GBA 模拟器,就可以看到新添加的游戏了。

做一个基于树莓派 Zero的复古游戏主机图17

希望你可以从这个项目中得到一些制作复古游戏机的启发。

项目所用的代码可以点击阅读原文下载。

原文链接:https://www.instructables.com/PALPi-Retro-Game-Console/

翻译自:趣无尽

转载请注明出处


Scheme.pdf

247.1 KB, 下载次数: 70

Gerber.rar

15.84 KB, 下载次数: 75

SCreen Holder.stl

41.29 KB, 下载次数: 58

boxbody.stl

86.31 KB, 下载次数: 58

QQQQQQQ  初级技匠

发表于 2022-2-26 12:51:42

厉害厉害
回复

使用道具 举报

rzegkly  版主 来自手机

发表于 2022-3-2 21:49:37

QQQQQQQ 发表于 2022-2-26 12:51
厉害厉害

喜欢
回复

使用道具 举报

小企鹅  初级技匠

发表于 2022-3-16 20:10:17

6666666666
回复

使用道具 举报

 初级技匠

发表于 2022-4-13 11:16:29

《再也不用担心妈妈会没收我的游戏机啦》
回复

使用道具 举报

糖醋花生  高级技师

发表于 2022-6-28 20:13:29

@诩 说得对,没收了就自己做一个,妈妈看到后觉得你的编程进步了很多,开心的把你的游戏机收走了
回复

使用道具 举报

糖醋花生  高级技师

发表于 2022-7-2 21:41:55

66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
嗨嗨嗨,六行六
回复

使用道具 举报

俺是胡胡  初级技师

发表于 2022-7-29 10:57:49

给赞一个
回复

使用道具 举报

派大星ym  初级技匠

发表于 2022-8-2 08:43:14

酷酷酷酷酷酷
回复

使用道具 举报

杨添淮  初级技师

发表于 2022-12-31 17:09:32

6666666666
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-20 11:09:17

厉害厉害
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-20 11:11:28

赞赞赞赞赞!!
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-8-27 10:30:42

厉害厉害
回复

使用道具 举报

三春牛-创客  初级技神

发表于 2023-8-27 10:31:44

作品好棒啊!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail