Arduino Esplora是Atmega32U4 AVR微控制器板。
它是獨(dú)特的Arduino板,因?yàn)樗鼧?gòu)建了 - 在開箱即用的各種輸入傳感器中,包括操縱桿,4個(gè)按鈕,滑塊,溫度傳感器,加速度計(jì),麥克風(fēng),光傳感器等。
還有Arduino IDE提供了各種使用它的示例。
這次我將Esplora編程為I2C從設(shè)備,作為I2C游戲手柄。
第2步:什么是M5Stack?
M5Stack從2017年的kickstarter項(xiàng)目開始,ESP32核心,內(nèi)置2.0“彩色LCD,小巧的5 cm外形,支持可堆疊模塊和grove I2C模塊。
現(xiàn)在它已經(jīng)有各種核心型號(hào),數(shù)十個(gè)可堆疊的模塊和還支持大量的I2C Grove模塊。
第3步:為什么要用ESP32玩復(fù)古游戲?
使用Raspberry Pi制作帶有Retropie發(fā)行版的復(fù)古游戲機(jī)是一個(gè)非常受歡迎的主題。
它能很好地完成這項(xiàng)工作,但最值得注意的問(wèn)題是啟動(dòng)時(shí)間。
我不想等半分鐘才能進(jìn)入復(fù)古游戲,真正的游戲機(jī)無(wú)需等待!
然后我發(fā)現(xiàn)esp32-nesemu無(wú)需等待啟動(dòng),所以我嘗試使用M5Stack構(gòu)建NES游戲機(jī)。
第4步:硬件準(zhǔn)備
Arduino Esplora
官方產(chǎn)品已經(jīng)過(guò)時(shí)但仍然很容易在網(wǎng)上找到克隆。
M5Stack
任何帶有2.0“LCD的M5Stack核心都應(yīng)該沒(méi)問(wèn)題。
引腳接頭
2針公母針頭和6針公母針頭。
Grove轉(zhuǎn)換電纜
正常4針公頭跳線至Grove 4針轉(zhuǎn)換電纜首選。我手頭沒(méi)有這個(gè)電纜,所以我只修補(bǔ)1以自己連接SCL和SDA引腳。
第5步:軟件準(zhǔn)備
Arduino IDE
下載并安裝Arduino IDE
ESP-IDF
如果還沒(méi)有安裝ESP-IDF,請(qǐng)按照設(shè)置指南進(jìn)行操作:
第6步:編程I2C游戲手柄
我寫了一個(gè)簡(jiǎn)單的程序來(lái)閱讀操縱桿和按鈕輸入并將其轉(zhuǎn)換為I2C信息。
以下是程序步驟:
將Esplora連接到電腦
打開Arduino
上傳程序
第7步:突破Esplora I2C
Arduino Esplora擁有大部分I/O和用戶界面,但具有諷刺意味的是它缺乏I2C(格羅夫系統(tǒng))突破引腳。
幸運(yùn)的是,ATMega32U4中的I2C引腳尚未用于其他目的。并且Esplora上的左側(cè)引腳接頭“當(dāng)前未連接”,我們可以使用此引腳接頭來(lái)斷開I2C引腳。
只需使用2根線和一些焊接工作來(lái)連接ATMega32U4引腳18(SCL)和引腳19(SDA)到左引腳頭。
Step 8:使用引腳接頭修復(fù)Esplora上的M5Stack
Esplora右側(cè)引腳接頭的最多2個(gè)底部引腳是GND和5V,它可以匹配M5Stack核心基準(zhǔn)引腳。因此我們可以彎曲一個(gè)2針公 - 母針腳接頭相互連接。
Esplora左側(cè)引腳接頭未連接任何東西,前面的步驟使用2個(gè)最頂端的引腳作為I2C斷開。還有6個(gè)引腳,我們可以彎曲6針公母針頭以固定Esplora上的M5Stack。
步驟9:連接I2C引腳
Esplora和M5Stack與I2C協(xié)議通信,M5Stack充當(dāng)I2C主設(shè)備,Esplora是I2C從設(shè)備。
由于GND和5V已經(jīng)連接在前面的步驟,只有SCL和SDA需要進(jìn)一步連接。
步驟10:編程M5Stack
從GitHub下載esp32-nesemu的修訂版:https://github.com/moononournation/esp32-nesemu
在esp32-nesemu下,運(yùn)行“make menuconfig“
輸入”Nofrendo ESP32特定配置“子菜單
選擇”要運(yùn)行的硬件“到”M5Stack“
選擇“控制器類型”為“I2C游戲手柄”
退出menuconfig
運(yùn)行“make -j5 all”編譯程序
將M5Stack連接到計(jì)算機(jī)
運(yùn)行“make flash”以閃爍c ompiled binary to M5Stack
運(yùn)行“sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME”
步驟11:享受!
是時(shí)候玩你喜歡的游戲了!
-
游戲機(jī)
+關(guān)注
關(guān)注
9文章
299瀏覽量
33387 -
Arduino
+關(guān)注
關(guān)注
187文章
6461瀏覽量
186524
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論