ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍

本文介绍了如何使用ESP32-DevKitCv4开发板和相关硬件组件构建一个NES游戏模拟器。通过SPI接口的SD卡模块加载游戏,2.2寸 ili9341显示屏呈现图像,支持多种游戏手柄控制,并具备音频输出功能。项目源码和硬件购买链接提供,适合初学者进行DIY和学习。
摘要由CSDN通过智能技术生成

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性高,模块化的硬件可重复利用到其他项目或者实验,本项目功能特点:

项目使用 VScode+platformio插件开发,以上功能均可在 ./platformio.ini 文件裁剪。
请将NES游戏文件存放在sd卡中的 /nes 文件夹。

源码、硬件获取

视频教程

待续。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挨踢民工biubiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值