步驟1:硬件準(zhǔn)備









ESP32開發(fā)板
這次我使用的是TTGO T8 ESP32開發(fā)板。該板內(nèi)置Lipo充電和調(diào)節(jié)電路,可以幫助減少額外的元件。
顯示
這次我使用的是2.4“IPS LCD。驅(qū)動(dòng)控制器是ST7789V,分辨率為320 x 240.此分辨率最適合NES仿真器252 x 224分辨率。
電池
這次我使用的是454261 Lipo電池.4.5 mm是ESP32開發(fā)板的厚度,61 mm是板的寬度。
引腳接頭
一個(gè)4針公頭圓形針頭和一個(gè)4針母頭圓形針頭用于連接I2C游戲手柄。
PETG板
用于支撐開發(fā)板和鋰電池的小型PET/PETG板,您可以在產(chǎn)品包裝中輕松找到它。
多用途PCB
需要2個(gè)PCB,1個(gè)0.4 mm厚用于支撐顯示器,1個(gè)1.2 mm厚用于I2C游戲手柄。
按鈕
A 5個(gè)方向按鈕,2個(gè)用于選擇和啟動(dòng)的小按鈕,2個(gè)用于A和B按鈕。
I2C游戲手柄控制器
這次我使用的是ATtiny8 61微控制器作為I2C游戲手柄控制器。
其他
1個(gè)SMD 12歐姆電阻,一個(gè)ISP編程器(例如TinyISP)
第2步:軟件準(zhǔn)備



Arduino IDE
下載并安裝Arduino IDE
ATTinyCore支持
按照安裝步驟操作如果還沒有添加ATTinyCore支持
ESP-IDF
關(guān)注ESP-IDF入門指南如果還沒有設(shè)置開發(fā)環(huán)境
第3步:3D打印

下載并打印案例:https://www.thingiverse.com/thing:3591170
第4步:LCD支持


切割24 x 27孔0.4 mm PCB以支持LCD。請記住為折疊LCD FPC預(yù)留一些空間。然后使用一些雙面膠帶將LCD固定在PCB上。
步驟5:準(zhǔn)備PETG板


為開發(fā)板和Lipo電池支撐切出62 mm x 69 mm PETG板。
步驟6:修復(fù)ESP32開發(fā)板

使用雙面膠帶將開發(fā)板固定在PETG板上。
步驟7:修復(fù)Lipo電池

使用雙面膠帶修復(fù)除開發(fā)板外的Lipo電池。
步驟8:連接電池和電池;開發(fā)板

步驟9:準(zhǔn)備顯示引腳

LCD顯示有很多變化形式不同供應(yīng)商。請獲取正確的數(shù)據(jù)表,并在任何補(bǔ)丁和連接之前閱讀。
某些引腳保留用于觸摸屏。由于這款LCD沒有觸摸屏,只需將這些引腳切斷就可以減少干擾。
步驟10:連接GND引腳


在大多數(shù)情況下,很少有引腳需要連接到GND。為了減少焊接工作量,我切割銅帶形狀以到達(dá)所有GND引腳,然后完全焊接。
步驟11:連接Vcc引腳

需要連接Vcc,LCD電源和LED電源的2個(gè)引腳。根據(jù)數(shù)據(jù)表,LCD電源可直接連接到開發(fā)板3.3 V引腳,但LED電源工作電壓略低于3.3 V.因此最好在中間添加一個(gè)SMD電阻,例如12歐姆電阻。
步驟12:連接LCD&開發(fā)板支持

使用磁帶連接LCD支持和開發(fā)板支持。兩個(gè)支持都應(yīng)保留約5毫米的間隙進(jìn)行折疊。
步驟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
在源代碼文件夾下,運(yùn)行“make menuconfig”
選擇“Nofrendo ESP32特定配置”
選擇“要運(yùn)行的硬件” - 》“自定義硬件”
選擇“LCD類型” - 》“ST7789V LCD”
填充引腳設(shè)置:MISO - 》 -1,MOSI - 》 23,CLK - 》 18,CS - 》 5,DC - 》 27,RST - 》 33,背光 - 》 -1,IPS - 》 Y
退出并保存
運(yùn)行“make -j5 flash”
運(yùn)行“sh flashrom.sh PATH_TO_YOUR_ROM_FILE”
步驟15:I2C連接器





突破I2C引腳,ESP32默認(rèn)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個(gè)代碼行。但是焊接后對(duì)ATtiny861進(jìn)行重新編程有點(diǎn)困難,所以最好先在面包板上對(duì)它進(jìn)行測試。
從GitHub下載,編譯和刷新程序:https://github.com/moononournation/attiny861_i2c _.。.
步驟18:構(gòu)建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開發(fā)板引腳25和26輸出模擬音頻信號(hào),很容易突破這兩個(gè)引腳和電源引腳( 3.3 V和GND)在頂部。然后你可以修補(bǔ)一個(gè)耳機(jī)插上它。或者你甚至可以添加一個(gè)帶揚(yáng)聲器的音頻放大器模塊來大聲播放。
步驟21:下一步是什么?

NES模擬器不是ESP32唯一有趣的事情。例如。你可以用它構(gòu)建一個(gè)微型python控制臺(tái)。您需要更改的唯一組件是從I2C游戲手柄到I2C鍵盤。我認(rèn)為使用ATtiny88控制器制作它并不困難。您可以按我的推特查看狀態(tài)。
-
ATtiny
+關(guān)注
關(guān)注
3文章
128瀏覽量
20313 -
模擬器
+關(guān)注
關(guān)注
2文章
1010瀏覽量
45671 -
ESP32
+關(guān)注
關(guān)注
26文章
1194瀏覽量
21681
發(fā)布評(píng)論請先 登錄
如何借助北斗模擬器校準(zhǔn)時(shí)間測量型接收機(jī)#北斗信號(hào)模擬器#衛(wèi)星信號(hào)模擬器#gnss模擬器#
glonass衛(wèi)星模擬器:校準(zhǔn)規(guī)范要啥我有啥,不信來看! #模擬器 #衛(wèi)星信號(hào)模擬器#北斗模擬器#導(dǎo)航模
ESP32開發(fā)板創(chuàng)建同步WebServer網(wǎng)頁服務(wù)器
導(dǎo)航信號(hào)模擬器 北斗衛(wèi)星模擬器 導(dǎo)航終端測試必備北斗衛(wèi)星信號(hào)模擬器
用平板也能做衛(wèi)星模擬器? #衛(wèi)星發(fā)射模擬器 #北斗信號(hào)模擬器 #gps衛(wèi)星模擬器 #模擬器 #同步天下
小體積,大能力平板衛(wèi)星模擬器它來 #衛(wèi)星發(fā)射模擬器 #北斗信號(hào)模擬器 #gps衛(wèi)星模擬器 #平板 #同步天下
ESP32 Wi-Fi 控制 LED 燈的原理
gps信號(hào)發(fā)模擬器 衛(wèi)星定位模擬器 國產(chǎn)gnss模擬器#電工 #單片機(jī) #
氙燈太陽模擬器與LED太陽模擬器的對(duì)比研究
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】2、打造復(fù)古游戲機(jī)(Batocera鏡像+FBNeo虛擬機(jī), 多款游戲ROM分享)
DevEcoStudio 中使用模擬器時(shí)如何過濾日志
用 樹莓派4 打造專屬流媒體控制臺(tái)!
ESP32運(yùn)行網(wǎng)頁服務(wù)器 (Web-Server)-入門篇
如何使用ESP32和ATtiny861制作NES模擬器游戲控制臺(tái)
評(píng)論