Arduino Esplora是Atmega32U4 AVR微控制器板。
它是独特的Arduino板,因为它构建了 - 在开箱即用的各种输入传感器中,包括操纵杆,4个按钮,滑块,温度传感器,加速度计,麦克风,光传感器等。
还有Arduino IDE提供了各种使用它的示例。
这次我将Esplora编程为I2C从设备,作为I2C游戏手柄。
第2步:什么是M5Stack?
M5Stack从2017年的kickstarter项目开始,ESP32核心,内置2.0“彩色LCD,小巧的5 cm外形,支持可堆叠模块和grove I2C模块。
现在它已经有各种核心型号,数十个可堆叠的模块和还支持大量的I2C Grove模块。
第3步:为什么要用ESP32玩复古游戏?
使用Raspberry Pi制作带有Retropie发行版的复古游戏机是一个非常受欢迎的主题。
它能很好地完成这项工作,但最值得注意的问题是启动时间。
我不想等半分钟才能进入复古游戏,真正的游戏机无需等待!
然后我发现esp32-nesemu无需等待启动,所以我尝试使用M5Stack构建NES游戏机。
第4步:硬件准备
Arduino Esplora
官方产品已经过时但仍然很容易在网上找到克隆。
M5Stack
任何带有2.0“LCD的M5Stack核心都应该没问题。
引脚接头
2针公母针头和6针公母针头。
Grove转换电缆
正常4针公头跳线至Grove 4针转换电缆首选。我手头没有这个电缆,所以我只修补1以自己连接SCL和SDA引脚。
第5步:软件准备
Arduino IDE
下载并安装Arduino IDE
ESP-IDF
如果还没有安装ESP-IDF,请按照设置指南进行操作:
第6步:编程I2C游戏手柄
我写了一个简单的程序来阅读操纵杆和按钮输入并将其转换为I2C信息。
以下是程序步骤:
将Esplora连接到电脑
打开Arduino
上传程序
第7步:突破Esplora I2C
Arduino Esplora拥有大部分I/O和用户界面,但具有讽刺意味的是它缺乏I2C(格罗夫系统)突破引脚。
幸运的是,ATMega32U4中的I2C引脚尚未用于其他目的。并且Esplora上的左侧引脚接头“当前未连接”,我们可以使用此引脚接头来断开I2C引脚。
只需使用2根线和一些焊接工作来连接ATMega32U4引脚18(SCL)和引脚19(SDA)到左引脚头。
Step 8:使用引脚接头修复Esplora上的M5Stack
Esplora右侧引脚接头的最多2个底部引脚是GND和5V,它可以匹配M5Stack核心基准引脚。因此我们可以弯曲一个2针公 - 母针脚接头相互连接。
Esplora左侧引脚接头未连接任何东西,前面的步骤使用2个最顶端的引脚作为I2C断开。还有6个引脚,我们可以弯曲6针公母针头以固定Esplora上的M5Stack。
步骤9:连接I2C引脚
Esplora和M5Stack与I2C协议通信,M5Stack充当I2C主设备,Esplora是I2C从设备。
由于GND和5V已经连接在前面的步骤,只有SCL和SDA需要进一步连接。
步骤10:编程M5Stack
从GitHub下载esp32-nesemu的修订版:https://github.com/moononournation/esp32-nesemu
在esp32-nesemu下,运行“make menuconfig“
输入”Nofrendo ESP32特定配置“子菜单
选择”要运行的硬件“到”M5Stack“
选择“控制器类型”为“I2C游戏手柄”
退出menuconfig
运行“make -j5 all”编译程序
将M5Stack连接到计算机
运行“make flash”以闪烁c ompiled binary to M5Stack
运行“sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME”
步骤11:享受!
是时候玩你喜欢的游戏了!
-
游戏机
+关注
关注
9文章
299浏览量
33403 -
Arduino
+关注
关注
187文章
6463浏览量
186621
发布评论请先 登录
相关推荐
评论