步骤1:硬件准备
ESP32开发板
这次我使用的是TTGO T8 ESP32开发板。该板内置Lipo充电和调节电路,可以帮助减少额外的元件。
显示
这次我使用的是2.4“IPS LCD。驱动控制器是ST7789V,分辨率为320 x 240.此分辨率最适合NES仿真器252 x 224分辨率。
电池
这次我使用的是454261 Lipo电池.4.5 mm是ESP32开发板的厚度,61 mm是板的宽度。
引脚接头
一个4针公头圆形针头和一个4针母头圆形针头用于连接I2C游戏手柄。
PETG板
用于支撑开发板和锂电池的小型PET/PETG板,您可以在产品包装中轻松找到它。
多用途PCB
需要2个PCB,1个0.4 mm厚用于支撑显示器,1个1.2 mm厚用于I2C游戏手柄。
按钮
A 5个方向按钮,2个用于选择和启动的小按钮,2个用于A和B按钮。
I2C游戏手柄控制器
这次我使用的是ATtiny8 61微控制器作为I2C游戏手柄控制器。
其他
1个SMD 12欧姆电阻,一个ISP编程器(例如TinyISP)
第2步:软件准备
Arduino IDE
下载并安装Arduino IDE
ATTinyCore支持
按照安装步骤操作如果还没有添加ATTinyCore支持
ESP-IDF
关注ESP-IDF入门指南如果还没有设置开发环境
第3步:3D打印
下载并打印案例:https://www.thingiverse.com/thing:3591170
第4步:LCD支持
切割24 x 27孔0.4 mm PCB以支持LCD。请记住为折叠LCD FPC预留一些空间。然后使用一些双面胶带将LCD固定在PCB上。
步骤5:准备PETG板
为开发板和Lipo电池支撑切出62 mm x 69 mm PETG板。
步骤6:修复ESP32开发板
使用双面胶带将开发板固定在PETG板上。
步骤7:修复Lipo电池
使用双面胶带修复除开发板外的Lipo电池。
步骤8:连接电池和电池;开发板
步骤9:准备显示引脚
LCD显示有很多变化形式不同供应商。请获取正确的数据表,并在任何补丁和连接之前阅读。
某些引脚保留用于触摸屏。由于这款LCD没有触摸屏,只需将这些引脚切断就可以减少干扰。
步骤10:连接GND引脚
在大多数情况下,很少有引脚需要连接到GND。为了减少焊接工作量,我切割铜带形状以到达所有GND引脚,然后完全焊接。
步骤11:连接Vcc引脚
需要连接Vcc,LCD电源和LED电源的2个引脚。根据数据表,LCD电源可直接连接到开发板3.3 V引脚,但LED电源工作电压略低于3.3 V.因此最好在中间添加一个SMD电阻,例如12欧姆电阻。
步骤12:连接LCD&开发板支持
使用磁带连接LCD支持和开发板支持。两个支持都应保留约5毫米的间隙进行折叠。
步骤13:连接SPI引脚
以下是连接摘要:
LCD ESP32
GND -》 GND
RST -》 GPIO 33
SCL -》 GPIO 18
DC -》 GPIO 27
CS -》 GPIO 5
SDI -》 GPIO 23
Vcc -》 3.3 V
LED+ -》 12 Ohm resistor -》 3.3 V
LED- -》 GND
步骤14:Flash程序
在GitHub下载源代码:https://github.com/moononournation/esp32-nesemu
在源代码文件夹下,运行“make menuconfig”
选择“Nofrendo ESP32特定配置”
选择“要运行的硬件” - 》“自定义硬件”
选择“LCD类型” - 》“ST7789V LCD”
填充引脚设置:MISO - 》 -1,MOSI - 》 23,CLK - 》 18,CS - 》 5,DC - 》 27,RST - 》 33,背光 - 》 -1,IPS - 》 Y
退出并保存
运行“make -j5 flash”
运行“sh flashrom.sh PATH_TO_YOUR_ROM_FILE”
步骤15:I2C连接器
突破I2C引脚,ESP32默认I2C引脚为:
Pin 1 (SCL) -》 GPIO 22
Pin 2 (SDA) -》 GPIO 21
Pin 3 (Vcc) -》 3.3 V (no 5 V power while powered by Lipo battery)
Pin 4 (GND) -》 GND
Ste第16页:装配第1部分
按照视频步骤将所有部件折叠并挤压到外壳中。
步骤17:原型I2C游戏手柄
I2C游戏手柄的程序非常简单,只有15个代码行。但是焊接后对ATtiny861进行重新编程有点困难,所以最好先在面包板上对它进行测试。
从GitHub下载,编译和刷新程序:https://github.com/moononournation/attiny861_i2c _.。.
步骤18:构建I2C游戏手柄
以下是连接摘要:
ATtiny861 Button
GND -》 All buttons one pin
Pin 20 (PA0) -》 Up button
Pin 19 (PA1) -》 Down button
Pin 18 (PA2) -》 Left button
Pin 17 (PA3) -》 Right button
Pin 14 (PA4) -》 Select button
Pin 13 (PA5) -》 Start button
Pin 12 (PA6) -》 A button
Pin 11 (PA7) -》 B button
Pin 6 (GND) -》 I2C male pin header pin 4
Pin 5 (Vcc) -》 I2C male pin header pin 3
Pin 3 (SCL) -》 I2C male pin header pin 1
Pin 1 (SDA) -》 I2C male pin header pin 2
步骤19:装配第2部分
按照视频步骤将封面和I2C游戏手柄安装到主体上。
步骤20:可选:音频突破引脚
ESP32开发板引脚25和26输出模拟音频信号,很容易突破这两个引脚和电源引脚( 3.3 V和GND)在顶部。然后你可以修补一个耳机插上它。或者你甚至可以添加一个带扬声器的音频放大器模块来大声播放。
步骤21:下一步是什么?
NES模拟器不是ESP32唯一有趣的事情。例如。你可以用它构建一个微型python控制台。您需要更改的唯一组件是从I2C游戏手柄到I2C键盘。我认为使用ATtiny88控制器制作它并不困难。您可以按我的推特查看状态。
-
ATtiny
+关注
关注
3文章
128浏览量
19574 -
模拟器
+关注
关注
2文章
865浏览量
43156 -
ESP32
+关注
关注
17文章
955浏览量
17068
发布评论请先 登录
相关推荐
评论