ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍
生活随笔
收集整理的這篇文章主要介紹了
ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 需求分析
- 硬件選擇
- 硬件概覽
- ESP32 NES模擬器
- 效果圖
- 項目介紹
- 源碼、硬件獲取
- 視頻教程
- 待續。。。
ESP32|爺青回!ESP32(單片機) NES模擬器
前言
小時候我們都喜歡玩FC,現在仍有很多人想做出屬于自己的游戲機(模擬器),玩上幾把小時候最喜歡玩的游戲,而nes模擬器正是不二之選,通過制作模擬器我們能學習到軟硬件各方面的知識,可謂是很多程序員走向編程開發道路上不可缺少的一環。
好處有那么多,但是從零開始制作一臺游戲到底難不難呢?
需求分析
制作一臺游戲機我希望是不用涉及太多的硬件方面的知識,如果要自己動手畫一個電路板并且焊接元件上去,就太麻煩了!我只想憑自己現有的能力,使用常見的硬件模塊搭建出一臺游戲機,而且后面這些硬件可以用于到其他的實驗或者項目就更好了!
上面的演示視頻已經滿足了我們的需求,所有的硬件我們都是像搭建積木那樣搭建起來,所有的功能都可以通過配置文件進行裁剪!
硬件選擇
- 開發板:如果板子能連接互聯網或者局域網,我們就可以通過外網下載我們所需的文件或者進行固件升級;通過局域網可建立面對面對面加入游戲,就像真的玩游戲機那樣的體驗。而選擇搭載了WROOM-32D模組的樂鑫公板ESP32-DevKitC v4開發板是比較理想的選擇。
- 存儲部分:所有文件保存在SD卡中讀取存儲起來非常方便,這需要使用到SPI SD卡模塊
- 顯示部分:FC游戲機的顯示分辨率是256x224,我們使用2.2寸(240x320)的顯示屏就足夠了,這里我選擇常見的2.2寸(240x320)ILI9341顯示屏。
- 音頻輸出部分:為了方便接耳機或者音響,選擇3.5mm的音頻座模塊是最理想的
- 最后為了能將這些硬件連接起來,還需要用到面包板和一些面包線或者杜邦線。
硬件概覽
| ESP32主板 | 1 |
| MicroUSB數據線 | 1 |
| 面包板+面包線 | 2 |
| TFT ILI9341屏幕(240x320) | 1 |
| SPI TF卡模塊 | 1 |
| 16GB TF卡 | 1 |
| NES游戲手柄+轉接板 | 1 |
| CJMCUTRRS 3.5mm音頻座模塊 | 1 |
ESP32 NES模擬器
效果圖
控制方法有三種,大家可以在源碼里面配置:
- 使用PCF8574模塊,直接接按鍵肝(要接很多線,玩起來一點都不方便、沒有手感)
- 使用九針或者七針的NES游戲手柄控制游戲(手柄玩起來很有手感,但接口比較奇葩,要接五根線:VCC、GND、LATCH、CLOCK、DATA)
- 使用(MINI、Micro)USB接口的游戲手柄控制游戲(手柄玩起來很有手感,而且常見接口,使用通過轉接板非常方便,要接5根線:VCC、GND、ID、D+、D-)
項目介紹
硬件組合合理,成本低、可DIY性高,模塊化的硬件可重復利用到其他項目或者實驗,本項目功能特點:
- 通過 SPI sd卡模塊 從外掛的micro sd 卡(SPI)中加載游戲文件(Fat文件系統)
- 2.2寸ILI9341顯示屏 (SPI接口240x320分辨率)顯示游戲圖象
- 支持開機動畫、菜單選擇游戲運行
- 支持音頻輸出(I2S),使用 CJMCUTRRS 3.5mm音頻座模塊 輸出音頻更方便!
- 支持PCF8574 I/O拓展模塊(I2C接口)控制游戲,拓展的8個I/O引腳用于游戲按鍵(上、下、左、右、A、B、select、start)
- 支持使用國內 7針、9針NES游戲手柄 控制游戲
- 支持國內 MicroUSB接口的游戲手柄 控制游戲
項目使用 VScode+platformio插件開發,以上功能均可在 ./platformio.ini 文件裁剪。
請將NES游戲文件存放在sd卡中的 /nes 文件夾。
源碼、硬件獲取
- 源碼倉庫地址: https://gitee.com/weidongshan/esp32_100ask_project.git
- 硬件:https://item.taobao.com/item.htm?id=642291784020
視頻教程
- 百問網官網: https://www.100ask.net/
- Bilibili:https://www.bilibili.com/video/BV1ef4y1W7En
待續。。。
總結
以上是生活随笔為你收集整理的ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LC-3学习记录(一)
- 下一篇: Unity3d--飞碟游戏