开源迷你游戏掌机

电子工程专辑 2022-01-11 12:32

以下文章来源于DQ笔记 ,作者大青带你学

DQ笔记 .

记录自己学习的过程

游戏机原理图:

图片

图片


PCB图:

图片


实物图:

图片



ESP32引导程序烧录如下图所示:

图片

TF卡目录(在esplay目录firmware文件夹下放入游戏模拟器固件和MP3固件,audio文件夹下放入歌曲,貌似不支持中文名的歌曲):

图片


游戏模拟器固件烧录:


第一次开机会直接进入下图界面,按A进行选择固件。

图片


按START键开始烧录:

图片


等待烧录完成:

图片


烧录完成后可选择模拟器:

图片


进入模拟器后可选择相应的游戏(游戏需要自己下载,NES模拟器下载相应的

NES游戏,将游戏放在上面TF卡对应的目录中):

图片


游戏运行如下:

图片

MP3固件烧录:

MP3固件烧录方法与游戏固件烧录的方法一样,第一次烧录后,开机不会再进入固件选择界面了,要想进入固件选择界面,需将电源关闭,按住MENU键,再开机即可进入固件选择界面。MP3固件烧录完成如下(音质还不错图片):

图片

ESP32 MP3视频(没有焊接喇叭,只能插耳机):

ESP32 游戏视频(没有焊接喇叭,只能插耳机):


我遇到的问题:

焊接完后,ESP32游戏机的按键无法使用,原因是PCF8574芯片选择错误,不同PCF8574芯片的IIC地址不同,导致按键无法使用,开源程序中PCF8574芯片的IIC地址为0x20<<1=0x40,所以芯片使用的是PCF8574T,我焊接的是PCF8574AT,地址为0x38<<1=0x70,无法适配导致按键无法使用。

PCF8574为两线双向总线(IIC)扩展为8为输入\输出(IO)扩展器,相当于两根数据线控制8个IO口,PCF8574引脚说明如下,其中A0、A1、A2为地址控制引脚,主要是通过控制这3个引脚进行地址选择。

图片

PCF8574与单片机接线例子如下:

图片下图中左图为PCF8574T,右图为PCF8574AT,两者地址有着区别,如果A2、A1、A0都接地,3者都为0,则PCF8574T地址为01000000=0x40,PCF8574AT地址为0111000=0x70。

图片

ESP32 PCF8574T使用IIC通信时,需将地址<<1。即地址<<1=0x40,所以地址为0x20。正好与下图中第一项对应。

图片

从程序中也可以看出:

图片

同理,ESP32 PCF8574AT使用IIC通信时,需将地址<<1。即地址<<1=0x70,所以地址为0x38。正好与下图中第一项对应。

图片

综上,PCF8574T与PCF8574AT不可直接互换,若要互换,将程序中的IIC读写地址改成对应芯片的即可。

由于芯片购买错误,导致拆解芯片的过程中焊盘脱落,使用跳线链接断掉的线。由于没有电池,需将肖特基二极管的负极用条线连接在外界电源的正极,进行模拟电源输入,否则无法进行USB供电且无法开机。

图片


ESP32-开源迷你游戏掌机开源地址:

项目地址:https://github.com/pebri86/esplay_micro_hardware

B站上的相关视频:

https://www.bilibili.com/video/BV1PJ411p7ob?t=90

https://www.bilibili.com/video/BV1354y1i7Gb/?spm_id_from=333.788.videocard.1

https://www.bilibili.com/video/BV1254y1U7K


欢迎关注EET官方社区

每天学电子