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 |
在立创开源平台上有很多人对上面开源项目PCB进行了修改,有需要的朋友可以去下面的链接:
https://oshwhub.com/LiiGuang/esplay-micro-V2 |
游戏机原理图:
PCB图:
实物图:
ESP32引导程序烧录如下图所示:
TF卡目录(在esplay目录firmware文件夹下放入游戏模拟器固件和MP3固件,audio文件夹下放入歌曲,貌似不支持中文名的歌曲):
游戏模拟器固件烧录:
按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个引脚进行地址选择。下图中左图为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供电且无法开机。