找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3287|回復(fù): 2
收起左側(cè)

基于ESP32制作的掌上游戲機(jī)

  [復(fù)制鏈接]
ID:948900 發(fā)表于 2022-2-4 01:59 | 顯示全部樓層 |閱讀模式
簡介

一個(gè)基于ESP32制作的開源游戲掌機(jī),可以運(yùn)行標(biāo)準(zhǔn)的NES(日版為FC)游戲,支持單聲道音頻。讓你隨時(shí)回味兒時(shí)的時(shí)光。

固件基于樂鑫官方和moononournation二次開發(fā)的項(xiàng)目,Github地址:

https://github.com/moononournation/esp32-nesemu

▌版本更新

【V1.1-200807】

  • 現(xiàn)在可以通過在開機(jī)時(shí)按方向鍵來選擇不同的游戲。最多支持5個(gè)內(nèi)置游戲。(需要重新燒寫固件,游戲下載方法詳見章節(jié)“下載游戲”)


特性
  • 低成本:僅一片ESP32-WROOM-32模塊就實(shí)現(xiàn)了所有的功能,無需外部Flash、SRAM和DAC。

  • 易于制作:阻容元件使用0805封裝,易于焊接。外殼的3D文件制作時(shí)已經(jīng)考慮了低端3D打印機(jī)的公差問題,提高外殼制作成功率。

  • 兼容性好:經(jīng)測試絕大多數(shù)的NES游戲可完美運(yùn)行

  • 可方便地下載游戲:無需重新編譯源碼即可下載游戲,內(nèi)置ESP32自動下載電路,下載時(shí)無需手動復(fù)位。

  • 內(nèi)置電池:內(nèi)置了鋰電池充電電路和低電量指示電路。

  • 低功耗:400mAh的電池可持續(xù)運(yùn)行約3小時(shí)。

  • 多功能:板子上引出了ESP32的全部可用IO,可作為ESP32的開發(fā)板使用。

  • 三個(gè)指示燈:紅色:電量低;藍(lán)色:充電中;綠色:電池電量滿。

  • [2020/08/07]可以一次性下載5個(gè)游戲


注意事項(xiàng)
  • 下載游戲時(shí)一定要打開電源開關(guān)!

  • 游戲ROM大小不要超過1M

  • 默認(rèn)的充電電流約為400mA,如果自己制作時(shí)使用了不同容量的電池,請自行根據(jù)TP4056充電管理IC的datasheet修改R19的值來重新設(shè)置充電電流。


▌鍵位圖

▌IO映射FunctionIOComments

LCD-SCLK

GPIO18



LCD-MOSI

GPIO23



LCD-DC

GPIO17



LCD-CS

GOIO5



LCD-RST

GPIO4



KEY-UP

GPIO14

With 4.7k ohm pullup resistor


KEY-DOWN

GPIO32

With 4.7k ohm pullup resistor


KEY-RIGHT

GPIO33

With 4.7k ohm pullup resistor


KEY-LEFT

GPIO27

With 4.7k ohm pullup resistor


KEY-A

GPIO35

With 4.7k ohm pullup resistor


KEY-B

GPIO34

With 4.7k ohm pullup resistor


KEY-START

GPIO16

With 4.7k ohm pullup resistor


KEY-SELECT

GPIO13

With 4.7k ohm pullup resistor


▌示例運(yùn)行Contra游戲

作為ESP32開發(fā)板運(yùn)行例程(LittleVGL)

▌如何制作?準(zhǔn)備材料

以下商品需要在第三方平臺購買

  • 屏幕:以下兩個(gè)均可,注意,選擇9341版本的

    • (已驗(yàn)證)2.4寸tft液晶屏顯示屏ILI9341SPI串口屏

    • (未驗(yàn)證,需要檢查PCB封裝,可能需要修改PCB)中景園2.4寸液晶屏320x240 TFT LCD SPI串口TFT彩色液晶屏9341


  • M3*12螺絲x4


其他元件按照BOM表格在立創(chuàng)商城購買即可,其中電池鏈接:鋰電池 700mA

準(zhǔn)備外殼

使用第三方3D打印服務(wù)或自行打印外殼,外殼的模型文件在附件中。


打樣PCB


開始制作

1,焊接PCB正面元件(不要焊接屏幕)

2,焊接PCB反面元件(不要焊接電池)

3,通過紅框位置為PCB供電,供電電壓為3.3V,同時(shí)通過USB將PCB連接至電腦

4,在電腦上通過串口助手軟件查看ESP32是否正常輸出啟動Log,如果沒有,請重新檢查元器件焊接是否有誤(不用關(guān)心Log內(nèi)容,只要正常輸出log了即可)

5,關(guān)閉串口助手,下載附件中的“ESP32-FLASH下載工具-已設(shè)置好.zip”

6,運(yùn)行工具

7,選擇ESP32 Download Tool

8,檢查關(guān)鍵設(shè)置是否與如下圖片中一致(下載的工具是已經(jīng)設(shè)置好的,正常情況下不需要做任何變動)

9,選擇正確的COM口,點(diǎn)擊Start開始下載

10,正常情況下下載應(yīng)該會自動開始,進(jìn)度條會開始走動,如圖:

11,如果下載長時(shí)間未自動開始,按住“下載”鍵不丟后按一下“復(fù)位”,然后再次點(diǎn)擊下載工具上的“START”

12,如果按照第11步操作后,依然報(bào)錯(cuò),則可能是元件損壞或焊接不良,請重新檢查焊接。

13,等待程序正常下載完畢后,斷開USB連接和供電,下圖為下載正常結(jié)束

14,焊接屏幕,但是先不要固定屏幕。

15,確保電源開關(guān)處于關(guān)閉狀態(tài)(撥動桿在上方為關(guān)閉),然后焊接電池


16,打開電源開關(guān),如果無異常,應(yīng)該會出現(xiàn)“TANK”的游戲畫面。如果白屏或者屏幕不亮。請?jiān)跀嚅_電池后從第一步開始重新檢查焊接、下載是否有誤。


17,使用直徑2.5mm鉆頭擴(kuò)展螺絲孔,如果沒有相關(guān)工具,也可以使用自攻螺絲

18,撕去液晶屏保護(hù)膜(按照自己的習(xí)慣來,不想撕可以不撕)。使用液晶屏自帶的雙面膠或者自行打膠固定屏幕(千萬不要固定歪了。瑢CB放入底殼,放置好按鍵,蓋上頂殼,擰好螺絲。

19,大功告成,開始玩耍~

▌下載新游戲

1.準(zhǔn)備好游戲的ROM文件(*.nes)

2.運(yùn)行附件中的“ESP32-Flash下載工具-下載多個(gè)游戲”

3.點(diǎn)擊紅框中按鈕,在彈出的文件選擇對話框中選擇文件類型為“所有文件”,然后選擇你要下載的游戲ROM文件

4.打開游戲機(jī)電源(重要。。。,將游戲機(jī)通過USB連接至電腦,然后選擇正確的COM口,點(diǎn)擊START開始下載

5.下載完成后,按一下游戲機(jī)的“復(fù)位”鍵,默認(rèn)運(yùn)行第一個(gè)游戲。

6.按住方向鍵不丟,然后打開電源(開機(jī)狀態(tài)下為按復(fù)位鍵),會自動根據(jù)按下的方向鍵啟動不同的游戲。對照如下

游戲序號方向鍵

1

默認(rèn)(不按任何按鍵)


2

方向鍵-上


3

方向鍵-下


4

方向鍵-左


5

方向鍵-右


▌圖賞


esp32游戲機(jī).zip

18.62 MB, 下載次數(shù): 53, 下載積分: 黑幣 -5

評分

參與人數(shù) 2黑幣 +30 收起 理由
lxh0587 + 15 很給力!
liang1981 + 15 很給力!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:76044 發(fā)表于 2022-4-22 15:53 | 顯示全部樓層
看按鍵有些硬,改進(jìn)一下
回復(fù)

使用道具 舉報(bào)

ID:685462 發(fā)表于 2022-4-23 13:07 | 顯示全部樓層
lxm41577 發(fā)表于 2022-4-22 15:53
看按鍵有些硬,改進(jìn)一下

應(yīng)該用軟的那種,這個(gè)看psp的按鍵或是手柄按鍵。要是用8266,應(yīng)該可以點(diǎn)對點(diǎn)連接的可能

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表