平博(中国)PINNACLE·官方网站

复古游戏掌机平博|平博
平博

平博咨询热线

18950259620

Classification

新闻动态

18950259620
传真:18950259620
手机:18950259620
邮箱:620@qq.com
地址:福建省福州市鼓楼区洪山镇首凤路1号2#楼113室
当前位置: 首页 > 新闻动态 > 公司动态

复古游戏掌机平博

发布时间:2024-08-23 23:09:26 丨 浏览次数:611

  60 多年过去了,尽管辉光管已经停产,有很多工程师仍然对它情有独钟。我用 8 块液晶显示屏制作了一个拟辉光管时钟,感受复古元素的美感,表达对过去经典的敬意。

  这是一款基于ESP32的开源复古游戏掌机,是很多年前的一个开源项目,我在开源项目基础上做了一些优化,更改了显示屏硬件,重新绘制了PCB,对原作者表示感谢!

  复古游戏掌机使用Arduino IDE编程,游戏文件存放于存储卡中,支持游戏选择,理论游戏数量有很多,可以畅玩很多经典游戏,是一款儿时梦寐以求的指尖游戏机,一秒找回童年记忆。

  复古游戏掌机主控采用 ESP32-WROVER-E 模 块( 见 图 1),ESP32-WROVER-E 采用的芯片是ESP32 系列的 ESP32-D0WD-V3。ESP32-D0WD-V3芯片具有可扩展、自适应的特点。两个 CPU 可以被单独控制。CPU 时钟频率的调节范围为 80~240 MHz,集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、Micro SD 卡接口、以太网 接 口、 高 速 SPI、UART、I2S和 IPC 等。模块集成了传统蓝牙、低功耗蓝牙和 Wi-Fi,具有广泛的用途。

  选 用 ESP32-WROVER-E 模块除了功能强大,还有一个重要原因是这个模块拥有片外内存区 —— PSRAM,对于游戏文件超过 1MB 的情况就需要片外内存区了。这个模块PSRAM 大小有 8MB,有 4MB 可用,足够 1M 大小的游戏文件运行了。

  复古游戏掌机按键采用无声 贴 片 开 关( 见 图 3), 大 小 为6mm×6mm×5mm,这款开关按力均匀,手感柔软均匀舒适,寿命在 20万次以上。

  平博 平博平台

  ESP32-WROVER-E 模 块 的引脚分配给按键、显示屏和存储卡模块,主控电路如图 4 所示。

  本项目使用 CH340C 芯片,该芯片内置晶体振荡器,可以省去晶体振荡器电路,价格便宜,电路简单,配合三极管可实现自动下载功能,下载电路如图 5 所示。

  供电电路使用了 2 个 Micro USB接口,方便后期从上下两个方向供电。稳压电路使用 LM1117S-3.3 芯片,这是一种常见的稳压芯片,价格便宜,电路简单,供电及稳压电路如图6所示。

  掌机存储电路的卡座采用的是市面上常见的 Micro SD 卡卡座,体积小,通信接口为标准 SPI 接口,通过文件系统及 SPI 接口驱动程序,单片机系统即可完成 Micro SD 卡内的文件读写,存储电路如图 7 所示。

  锂电池充电电路里使用了TP4056 芯片,TP4056 是一款完整的单节锂电池恒定电流 / 恒定电压线性充电芯片。充电电压固定在 4.2V,而充电电流可通过一个电阻进行外部设置,在充电状态时,充电指示灯 LED4(红色)亮;充满电后 LED4 灭,待机指示灯 LED3(绿色)亮。TP4056 芯片采用 ESOP8 封装,配合较少的外围元器件使其非常适用于便携式产品,并且适合给 USB 电源以及适配器电源供电,锂电池充电电路如图 8 所示。

  音频电路中使用了一个8Ω/1W、直径为 13mm 的扬声器用于播放游戏背景音乐,用一个开关控制扬声器是否工作,电路中留出两路供电电路来选择扬声器的音量,音频电路如图 9所示。这只是个简单的音频电路,俗话说“听个响”,但是这种复古音质正好和复古游戏呼应,相得益彰。

  显示屏驱动电路中采用了一个0.5mm 间距 FPC 上接抽拉式贴片连接器,通过短接开关可选择 4 线SPI 连接方式,电路中还引出了两组显示屏接口,接口顺序和市面上其他常见显示屏模块的引脚顺序相同,通过修改程序,可以兼容更多 4 线SPI 驱动的显示屏,显示屏驱动电路如图 10 所示。

  为了方便电路板打样,我把电路板的长宽都限制在边长为 10cm 的正方形里,所以 PCB 设计时,所有元器件采用旋转 45°放置的方式,充分利用正方形的对角线长度,液晶显示屏居中放置,操作按键在显示屏两侧。PCB整体布局如图 11 所示,PCB 整体效果如图 12 所示。

  ● controller.cpp:控 制 器, 主要是按键类型和摇杆类定义。

  原 项 目 使 用 的 是 ST7789 驱 动的 2.4 英 寸 液 晶 显 示 屏, 我 这 里 改成 ILI9341 驱动的 3.2 英寸液晶显示屏,所以程序中需要修改,需要注意的是原项目中定义总线类型的语句中,IPS 是否为高清屏的内容改成Arduino_ILI9341 驱动后需要删除,因为库文件中没有相关的定义,不修改编译无法通过,原项目相关程序如程序 2 所示,移植后的程序如程序3所示。如果需要其他类型显示屏,可在 Arduino_GFX\sr\display 这个文件夹中查找,有列的就是支持的。

  (1)准备一张 Micro SD 卡,格式化成 FAT32 格式,将提前下载好的扩展名是 .nes 的游戏文件复制到存储卡根目录,游戏名用英文。

  (2)开机后显示屏上如果提示“Filesystem mount failed! try to restart.”,说明存储卡挂载失败,可以尝试断电重启,若两三次重启后仍然无法使用,请检查存储卡或者电路。

  平博 平博平台

  (3) 开 机 存 储 卡 挂 载 成 功 后会显示一张图片,显示屏上方显示“waiting”字样。

  (4)在“waiting”字样界面下,使用 left 和 right 按键可以调整亮度,立即生效,亮度最小 10,最大 255,支持重启后记住之前的设定值。

  (5)在“waiting”字样界面下,按一次 A 键,则会浏览根目录文件,如果不是游戏文件,则会显示“Not a game file, please select again.”,需要继续按 A 键继续选择,直到出现.nes 的游戏文件。

  (6)出现 .nes 游戏文件名显示后,按 mode 按键确认即可开始游戏。

  复古游戏掌机做完后,我迫不及待打开了小时候玩的第一个游戏,伴随着熟悉的背景音乐,以一种老玩家从容不迫的心态无伤通过了第一关,一切都是那么熟悉,此时手里捧着的不再是一台游戏机,而是童年时期的梦想。

  现在,画面震撼、玩法多样的游戏每年都会推陈出新,自制游戏机项目每年也在不断革新,我在自己能力范围内制作了属于自己的复古游戏掌机,也算是还了一个“童年债”。每次玩起这些老游戏,我总能想起那些遥远的、计算机还没普及的寒暑假,打开游戏机,选择好上次没能通关的游戏,那时候我最不缺的就是时间。

  特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

  法媒怎么看《黑神话:悟空》?法国网友:破纪录?敢不敢去掉所有中国玩家再比较……

  对话宇树创始人兼CEO王兴兴:通用机器人的iPhone时刻还需要3-4年

  优派“G320QC”31.5 英寸曲面显示器上架:2K 165Hz,1099 元

  锐龙9000X3D系列处理器预计明年1月推出 极限性能与AI处理显著提高

  高通推出入门级 8 核骁龙 X Plus 芯片,配备 1.7 TFLOPS GPU

  与中坚力量共成长,2024建信信托艺术大奖评委会特别奖获奖艺术家凌海鹏

Copyright © 2018-2023 平博PINNACLE集团有限公司 版权所有
电 话:18950259620    手 机:18950259620   传 真:18950259620    E-mail:620@qq.com
地 址:福建省福州市鼓楼区洪山镇首凤路1号2#楼113室
闽ICP备19017801号-1

扫一扫关注微信公众帐号

免费咨询 投诉建议