衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

做一臺(tái)基于 ESP32 DIY 復(fù)古游戲機(jī)——MicroByte

DFRobot ? 來(lái)源:DFRobot官方 ? 作者:DFRobot官方 ? 2024-04-11 15:14 ? 次閱讀

MicroByte 是一款mini主機(jī),能夠運(yùn)行 NES、GameBoy、GameBoy Color、Game Gear 和 Sega Master 系統(tǒng)的游戲,所有元器件都設(shè)計(jì)在這 78 x 17 x 40 mm 的封裝中。盡管成品尺寸很小,但它符合 SNES 游戲板的布局并且具有操作按鈕。它還配有一個(gè)清晰的 1.3 英寸 IPS 顯示屏,可以看到游戲的所有細(xì)節(jié)。

microByte Open Source Console.2024-04-11 14_37_14.gif

microByte Open Source Console.2024-04-11 14_41_19.gif

隨后還會(huì)更新 PythonArduino 庫(kù)以便進(jìn)行游戲以外的開(kāi)發(fā)工作。

作者的GitHub倉(cāng)庫(kù):https://github.com/jfm92/microByte

固件、PCB 設(shè)計(jì)、外殼 3D 文件等可以在文末下載

BOM 清單:
https://github.com/jfm92/microByte_PCB/blob/main/microByte_BOM.xlsx

項(xiàng)目架構(gòu)

通常開(kāi)始一個(gè)電子項(xiàng)目時(shí),首先會(huì)創(chuàng)建一個(gè)框圖,設(shè)置項(xiàng)目所需的功能及交互的方式,然后繪制原理圖。在原理圖上,選擇符合要求的元器件并進(jìn)行電氣連接,之后進(jìn)行 PCB 布局設(shè)計(jì)。最后,按照設(shè)計(jì)規(guī)則和物理設(shè)計(jì)準(zhǔn)則設(shè)置每個(gè)元器件基座的位置。

上面是以面包板為原型的原始版本,下面是最終版本。

此處將按照模塊化思想進(jìn)行項(xiàng)目開(kāi)發(fā),輔以原理圖設(shè)計(jì)和 PCB 布局設(shè)計(jì)。

該項(xiàng)目原理圖和 PCB 布局是用 Kicad 設(shè)計(jì)的,下載鏈接:
https://github.com/jfm92/microByte_PCB/tree/5cb0fcf7a9658e331d677588a7f35327a7d491d7

要打開(kāi)它,只需安裝 Kicad 并雙擊 .pro 文件。

ESP32 微控制器

首先選擇合適的微控制器,對(duì)于該項(xiàng)目,選擇 ESP32 Wrover E 模塊。

該模塊/微控制器特點(diǎn):具有 240 MHZ 雙核、16 MB 閃存、8 MB RAM、超低功耗協(xié)處理器、支持 Wi-Fi藍(lán)牙以及全套外圍設(shè)備和 GPIO,仿真性能極佳。

設(shè)計(jì)中可參考 Espressif,數(shù)據(jù)表如下:
https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf

電路板模塊的原理圖:

中間是與外圍設(shè)備連接的 ESP32 模塊。

引腳 25 是 IO 0 引腳。該引腳為選擇設(shè)備的引導(dǎo)狀態(tài),可以閃存新固件或啟動(dòng)已閃存的固件。信號(hào)為高,啟動(dòng)已閃存的固件;信號(hào)為低,啟動(dòng)引導(dǎo)模式,并等待新固件。

引腳 3 是啟用引腳(又名復(fù)位)。如果這個(gè)引腳是高電平,微控制器將工作,否則不工作。為了避免信號(hào)彈跳,此處有一個(gè) RC 電路(電阻/電容),在板啟動(dòng)或跳變時(shí)產(chǎn)生干凈的信號(hào),以防止意外復(fù)位。由于該電路沒(méi)有復(fù)位按鈕,因此并不是完全必要,但最好保持謹(jǐn)慎。

引腳 24 是 IO 2 引腳,連接了一個(gè)帶電阻器的藍(lán)色 LED,起到顯示通知的作用。
讓我們看看引腳 2 或 VDD 3V3。這引腳是給芯片供電的,電壓 3.3 V。注意并聯(lián)電容器,這些電容器是去耦電容器,用于清除寄生干擾。

下面是 PCB 設(shè)計(jì)布局和 PCB 板中重點(diǎn)研究的部分。

除此之外,相關(guān)的組件必須盡可能靠近。

添加 USB 模塊

USB 收發(fā)器是一個(gè)將 USB 信號(hào)轉(zhuǎn)換為串行、RS232 或其他類似協(xié)議的芯片。在市場(chǎng)上,有各種各樣的型號(hào)可供選擇,此處使用 CH340C。

CH340C 不需要像 CH340G 一樣的外部時(shí)鐘,其用法簡(jiǎn)單,價(jià)格是 CP2102 或 FT232 的一小部分。

圖的右側(cè)所示。它的設(shè)計(jì)非常簡(jiǎn)單,只有一塊芯片,上面有兩個(gè)去耦電容和一個(gè) 0 歐姆的電阻。如果不確定是否必須進(jìn)行連接,則將這種電阻器用作電橋。

右邊是 USB-C 連接器的示意圖。其作用是連接到 PC 并給電池充電。在 PCB 布線時(shí),使用 USB-C 更具挑戰(zhàn)性,因?yàn)樾枰砑与p連接,可以在任何方向使用導(dǎo)線。

提示:USB 信號(hào)是并行高速信號(hào),必須盡量平行布線,避免信號(hào)間的串?dāng)_,并盡量將信號(hào)線布在靠近數(shù)字邏輯芯片的地方。

電池與電源管理

此處分為三個(gè)部分:電池充電和保護(hù)電路電源管理和電池電量控制。
電池充電和保護(hù)電路:

對(duì)于 Li-Po 電池的使用,安全第一,需要做一個(gè)正確的恒流充電控制器,使它不要在 4.2 V 以上充電或在 2.8 V 以下對(duì)電池放電,以免損壞電池。

TP4056 是一個(gè)鋰聚合物電池充電器芯片,可提供恒定的線性電壓電流,還可以通過(guò)修改 R 2 的阻值設(shè)置充電電流。切記充電電流應(yīng)為電池容量的 25 % 左右。此芯片連接到 LED D1,以顯示電池的充電狀態(tài)。

FS312F-G 是一個(gè)電池保護(hù)電路芯片,如果檢測(cè)到電池過(guò)度充電或過(guò)度放電,它會(huì)切斷電池的使用。這樣可以避免損壞電池。

FS8205 是一個(gè)集成兩個(gè) MOSFET 晶體管以選擇電路功率的芯片,如果電池處于合適的范圍內(nèi),它將從電池中獲取能量,如果將設(shè)備連接到 USB 端口,它將直接利用 USB 的能量工作。

電源管理:

該模塊是電壓轉(zhuǎn)換器的升壓電路,可提供 3.3 V 的恒定電壓。鋰電池的最大充電電壓為 4.2 V,最小安全電壓為 2.8 V。因此,需要提供恒定電壓以避免微控制器不穩(wěn)定或顯示器上的亮度較低。為解決這個(gè)問(wèn)題,此處使用 MT3608,它是一種可配置的升壓電壓轉(zhuǎn)換器。在該電路的輸出端,電壓為 4.2 V,高于器件所需的 3.3 V,所以使用 MCP1700 電壓轉(zhuǎn)換器將電壓從 4.2 V 轉(zhuǎn)換為 3.3 V。

這個(gè)方案可能存在過(guò)度設(shè)計(jì)或效率低下的問(wèn)題,但這是最便宜有效的解決方案。

電池電量控制:

就像升壓電路前的分壓器一樣簡(jiǎn)單。此點(diǎn)的電壓最大將達(dá)到 4.2 V,因此僅需設(shè)計(jì)一個(gè)降至 3.3 V 的分壓器以遵守 ESP32 的邏輯電平并將其連接到 ADC GPIO 即可測(cè)量模擬電平信號(hào)。

設(shè)計(jì) SD 卡模塊

SD 卡使用 SPI 協(xié)議,這是一種雙向通信,可實(shí)現(xiàn)高速通信。使用外設(shè)時(shí),不必?fù)?dān)心串?dāng)_,因?yàn)樗乃俣炔蛔阋援a(chǎn)生磁場(chǎng)(至少此處沒(méi)有任何問(wèn)題)。

電路也非常簡(jiǎn)單,將每條線連接到 MCU 的 SPI GPIO 口并添加一個(gè)上拉電阻。該電阻對(duì)于保持線路上的恒定高電平并避免可能破壞數(shù)據(jù)傳輸?shù)闹虚g電平信號(hào)很重要。

此處還有我們的老朋友去耦電容器。

音頻輸出

使用 ESP32,有兩種方式輸出音頻。通過(guò)檢查數(shù)據(jù)表,此處可以使用集成的 I2S 到 DAC 轉(zhuǎn)換器或直接使用 I2S 外設(shè)。

獲得音頻輸出的最簡(jiǎn)單方法是使用 I2S 到 DAC 轉(zhuǎn)換器,因?yàn)榭梢詫P(yáng)聲器直接連接到 GPIO,如果音頻音量很低,則可以使用模擬音頻放大器,這非常容易實(shí)施。但是這種解決方案也帶來(lái)了一些不便。DAC 僅使用 I2S 16 位中的 8 位,這意味著將丟失很多音頻信息,導(dǎo)致音頻質(zhì)量非常差。

I2S 是一種數(shù)字音頻協(xié)議,可保證高保真音頻,而不造成質(zhì)量損失或噪聲。但需要一個(gè)轉(zhuǎn)換器模擬轉(zhuǎn)換器和放大器收到的東西。此處采用 MAX98357 音頻放大器。該放大器將 I2S 信號(hào)轉(zhuǎn)換為模擬信號(hào),并將其放大以直接用于接揚(yáng)聲器或耳機(jī)。該放大器/轉(zhuǎn)換器可為我們提供 6.4W 的輸出功率,并具有可配置的輸出選擇——在單聲道或立體聲音頻之間進(jìn)行選擇和阻抗選擇。

作者免責(zé)聲明:"我對(duì)音頻的了解不是很深,所以一些音頻數(shù)據(jù)可能是錯(cuò)誤的,僅供參考。"

添加按鍵

ESP32 是一個(gè)不錯(cuò)的模塊,但它的 GPIO 端口數(shù)量很少。但是不用擔(dān)心,我們有 TCA9555 解決方案。

TCA9555 是 I2C GPIO 多路復(fù)用器。該器件最多允許使用 18 個(gè)額外的 GPIO。這些 GPIO 可用作輸入或輸出,并可通過(guò) I2C 進(jìn)行控制或檢查。因此,僅使用兩個(gè) GPIO(I2C SDA 和 I2C SCLK),就有了 18 個(gè)額外的 GPIO!延遲不是問(wèn)題,因?yàn)榭梢宰x取或?qū)懭敫哌_(dá) 400 Khz的數(shù)據(jù),這意味著每秒 400000 次!

讓我們看一下原理圖。該多路復(fù)用器可與 I2C 一起使用,因此需要上拉每個(gè)信號(hào)以避免線路上的噪聲。它也有一個(gè)中斷引腳,但未使用。I2C 信號(hào)為 SCL 和 SDA 引腳(19 和 20)。需要通過(guò)硬件配置設(shè)備的地址,此配置通過(guò)設(shè)置引腳 A0、A1 和 A2 的邏輯電平來(lái)完成。此處只有一個(gè) I2C 設(shè)備,因此給出地址 0x00。

最后,所有開(kāi)關(guān)按鈕都直接連接到芯片,我們通過(guò)軟件配置設(shè)置了上拉或下拉電阻,因?yàn)樵摱嗦窂?fù)用器具有可配置的內(nèi)部電阻。

該設(shè)備的有趣之處之一是電感式按鈕,它們是沒(méi)有絲印層的 PCB 布線,因此,帶有碳膜的橡膠按鈕可以用作開(kāi)關(guān)按鈕。這是游戲手柄上的常規(guī)配置。如果要在設(shè)計(jì)中使用,可以在項(xiàng)目附帶的庫(kù)中找到。

配一款亮麗的顯示屏

顯示器采用 IPS 1.3 英寸屏幕,分辨率為 240 x 240 px,可以提供非常漂亮的色彩和清晰的圖像。通信協(xié)議是 SPI,可以實(shí)現(xiàn)高達(dá) 70 FPS 的幀速率(數(shù)據(jù)表中注明)。另一方面,可以控制顯示器的背光以選擇亮度等級(jí)。通過(guò) BS138 MOSFET 晶體管完成控制顯示屏上嵌入的 LED 的電流。

完成

現(xiàn)在就可以運(yùn)行這臺(tái)復(fù)古游戲機(jī)了,開(kāi)啟你的復(fù)古游戲回憶之旅吧!

文章轉(zhuǎn)載自:[DF創(chuàng)客社區(qū)]

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7651

    瀏覽量

    152115
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    978

    瀏覽量

    17529
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本質(zhì)上是讓 ESP32 設(shè)備與豆包的 API 進(jìn)行通信,以獲取相關(guān)服務(wù)
    的頭像 發(fā)表于 02-05 13:40 ?151次閱讀
    <b class='flag-5'>esp32</b>如何接入豆包

    原來(lái)ESP32竟可《“芯”兩用》既做人體檢測(cè)傳感器也Wi-Fi數(shù)據(jù)傳輸

    今天將介紹ESP32如何"芯兩用",既做人體檢測(cè)傳感器也Wi-Fi數(shù)據(jù)傳輸模塊;對(duì)于使用ESP32Wi-Fi數(shù)據(jù)通訊,相信玩
    的頭像 發(fā)表于 12-18 18:12 ?1261次閱讀
    原來(lái)<b class='flag-5'>ESP32</b>竟可《<b class='flag-5'>一</b>“芯”兩用》既做人體檢測(cè)傳感器也<b class='flag-5'>做</b>Wi-Fi數(shù)據(jù)傳輸

    【AI技術(shù)支持】ESP32模組PSRAM的CS引腳上拉導(dǎo)致功耗上升處理

    啟明云端/01你是否曾遇到過(guò)?在游戲機(jī)產(chǎn)品上,使用ESP32-WROOM-32E/ESP32-WROOM-32UE模組,ESP-IDF版本為IDFv5.1.1時(shí),根據(jù)外圍設(shè)計(jì)原理圖介紹
    的頭像 發(fā)表于 10-31 08:01 ?732次閱讀
    【AI技術(shù)支持】<b class='flag-5'>ESP32</b>模組PSRAM的CS引腳上拉導(dǎo)致功耗上升處理

    esp32上使用chatGPT些有意思的事情

    ChatGPT獲得響應(yīng),我們需要進(jìn)行以下步驟:1、在OpenAI網(wǎng)站上注冊(cè),并在ESP32上安裝必要的庫(kù)。 2、在OpenAI API上創(chuàng)建個(gè)新項(xiàng)目并生成個(gè)API密鑰。 3、使用API密鑰來(lái)驗(yàn)證
    的頭像 發(fā)表于 10-18 10:04 ?717次閱讀

    esp32用什么軟件編程

    ESP32款由樂(lè)鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模微控制器,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能穿戴等領(lǐng)域。要對(duì)ESP32進(jìn)行編程,需要選擇合適的編程軟件和開(kāi)發(fā)環(huán)境
    的頭像 發(fā)表于 08-19 17:24 ?4328次閱讀

    基于 FPGA 的飛機(jī)大戰(zhàn)游戲系統(tǒng)設(shè)計(jì)

    喜歡老式電子游戲的買家。些愛(ài)好者直在收集復(fù)古游戲產(chǎn)品,些普通玩家也開(kāi)始收集舊式磁帶和CD,
    發(fā)表于 07-24 20:03

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區(qū)別?ESP32-WROOM-32 后綴字母代表的意思是?

    相信很多人心里都有這樣的疑問(wèn),今天就教大家怎么區(qū)分它們。 32D和32U是同個(gè)芯片ESP32-D0WD的模組,主要區(qū)別的天線模式,分別是板載和IPEX外接天線。 32E是用的升級(jí)版的芯片
    的頭像 發(fā)表于 07-17 10:09 ?1.1w次閱讀
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么區(qū)別?<b class='flag-5'>ESP32</b>-WROOM-32 后綴字母代表的意思是?

    ESP32C6做了種很新的BB機(jī)!出乎意料的實(shí)用

    工程名稱:年輕人的第一臺(tái)BB機(jī)~前言這是個(gè)BB機(jī),它可以……①接收消息這UI界面也忒好看了②控制“網(wǎng)易云”增加了實(shí)用性也~③控制電腦音量這個(gè)旋鈕調(diào)節(jié),愛(ài)了!④律動(dòng)頻譜儀氛圍感拉滿來(lái)的
    的頭像 發(fā)表于 07-12 08:05 ?47次閱讀
    用<b class='flag-5'>ESP32</b>C6做了<b class='flag-5'>一</b>種很新的BB<b class='flag-5'>機(jī)</b>!出乎意料的實(shí)用

    ESP32能取代STM32嗎?哪個(gè)更好?

    不能!首先二者不存在哪個(gè)更好的問(wèn)題,因?yàn)檫@兩個(gè)芯片使用場(chǎng)景各不相同,在嵌入式系統(tǒng)領(lǐng)域,ESP32和STM32都是常見(jiàn)的單片機(jī)系列,它們各自具有定的優(yōu)勢(shì)和適用場(chǎng)景。本文主要探討ESP32
    的頭像 發(fā)表于 07-06 08:04 ?1.4w次閱讀
    <b class='flag-5'>ESP32</b>能取代STM32嗎?哪個(gè)更好?

    請(qǐng)問(wèn)ESP32的網(wǎng)口與WIFI能否共存?

    請(qǐng)問(wèn)ESP32 的網(wǎng)口與WIFI能否共存, 1臺(tái)電腦用網(wǎng)口TCP-client與ESP32的TCP-server連接; 另一臺(tái)電腦用WIFI的TCP-client與
    發(fā)表于 06-25 06:49

    如何查看ESP32 ADC的電壓信號(hào)?

    我有一臺(tái)設(shè)備,對(duì)外提供了4~20ma的電流信號(hào)輸出。我想使用esp32讀取電流模擬量,但是我看ESP32提供的adc示例里面是電壓信號(hào)。請(qǐng)問(wèn)這個(gè)有什么辦法嗎?
    發(fā)表于 06-24 08:34

    開(kāi)源DIY!用 ESP32 制造迷你復(fù)古小電視

    。 趣無(wú)盡 這個(gè)項(xiàng)目是基于我之前的《用 ESP32 搭建一臺(tái)視頻播放器》基礎(chǔ)上加以改進(jìn)的,更多的搭建的基礎(chǔ)細(xì)節(jié)可以點(diǎn)擊鏈接查看!https://www.instructables.com
    發(fā)表于 05-27 11:01

    分享6個(gè)實(shí)用的ESP32-S3物聯(lián)網(wǎng)項(xiàng)目:從智能設(shè)備到安全創(chuàng)新

    的實(shí)時(shí)安全攝像頭等。 項(xiàng)目、MutantW V2 - DIY ESP32-S3 智能手表 硬件和軟件組件: 硬件清單 1x ESP32-
    的頭像 發(fā)表于 05-17 10:15 ?950次閱讀

    超酷!基于ESP32自制個(gè)藍(lán)牙游戲手柄

    ; 步驟2:在面包板上構(gòu)建電路 除了ESP32開(kāi)發(fā)板外,游戲手柄電路還需要個(gè)搖桿模塊、按鈕、電阻和些導(dǎo)線。 帶有圓形蓋的12mm按鍵開(kāi)關(guān) 用于按鈕的4K7電阻 XY搖桿模塊
    發(fā)表于 05-06 16:59

    開(kāi)源項(xiàng)目!一臺(tái)基ESP32 DIY 復(fù)古游戲機(jī)

    等級(jí)。通過(guò) BS138 MOSFET 晶體管完成控制顯示屏上嵌入的 LED 的電流。 完成 現(xiàn)在就可以運(yùn)行這臺(tái)復(fù)古游戲機(jī)了,開(kāi)啟你的復(fù)古游戲回憶之旅吧! 文章來(lái)源:https://w
    發(fā)表于 04-19 10:20
    百家乐官网长龙技巧| 百家乐娱乐城会员| 百家乐官网出庄的概率| 皇冠百家乐官网客户端皇冠| 上饶市| 88娱乐城网址| 大发888游戏官方下载客户端| 天博百家乐娱乐城| 澳门百家乐然后赢| 百家乐太阳城| 百家乐娱乐城地址| 真人百家乐打法| 百家乐官网光纤冼牌机| 怎么玩百家乐官网的玩法技巧和规则 | 宝马百家乐官网的玩法技巧和规则 | 百家乐桌子定制| 旧金山百家乐的玩法技巧和规则| 百家乐明灯| 怎样看百家乐路单| 百家乐神算子| 百家乐系统足球博彩通| 澳门百家乐网址| 博久百家乐论坛| 百家乐发牌千数| 百家乐官网群到shozo网| 大发888怎么找| 大发888娱乐城送钱| 大发888游戏是真的么| 大发888真人娱乐| 大发888赌场| 大发888官方网站| 葡京娱乐场官网| 葡京赌场| 永亨娱乐城| 太子娛樂城网址| 云梦县| 百家乐官网分析资料| 百家乐官网里面的奥妙| 百家乐官网书籍| 百家乐官网前四手下注之观点| 百乐门|