步驟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瀏覽量
19581 -
模擬器
+關注
關注
2文章
869瀏覽量
43166 -
ESP32
+關注
關注
18文章
959瀏覽量
17102
發布評論請先 登錄
相關推薦
評論