0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用ESP32和ATtiny861制作NES模拟器游戏控制台

454398 来源:工程师wv 2019-08-27 14:20 次阅读

步骤1:硬件准备

如何使用ESP32和ATtiny861制作NES模拟器游戏控制台

ESP32开发板

这次我使用的是TTGO T8 ESP32开发板。该板内置Lipo充电和调节电路,可以帮助减少额外的元件。

显示

这次我使用的是2.4“IPS LCD。驱动控制器是ST7789V,分辨率为320 x 240.此分辨率最适合NES仿真器252 x 224分辨率。

电池

这次我使用的是454261 Lipo电池.4.5 mm是ESP32开发板的厚度,61 mm是板的宽度。

引脚接头

一个4针公头圆形针头和一个4针母头圆形针头用于连接I2C游戏手柄。

PETG板

用于支撑开发板和锂电池的小型PET/PETG板,您可以在产品包装中轻松找到它。

多用途PCB

需要2个PCB,1个0.4 mm厚用于支撑显示器,1个1.2 mm厚用于I2C游戏手柄。

按钮

A 5个方向按钮,2个用于选择和启动的小按钮,2个用于A和B按钮。

I2C游戏手柄控制器

这次我使用的是ATtiny8 61微控制器作为I2C游戏手柄控制器。

其他

1个SMD 12欧姆电阻,一个ISP编程器(例如TinyISP)

第2步:软件准备

Arduino IDE

下载并安装Arduino IDE

ATTinyCore支持

按照安装步骤操作如果还没有添加ATTinyCore支持

ESP-IDF

关注ESP-IDF入门指南如果还没有设置开发环境

第3步:3D打印

下载并打印案例:https://www.thingiverse.com/thing:3591170

第4步:LCD支持

切割24 x 27孔0.4 mm PCB以支持LCD。请记住为折叠LCD FPC预留一些空间。然后使用一些双面胶带将LCD固定在PCB上。

步骤5:准备PETG板

为开发板和Lipo电池支撑切出62 mm x 69 mm PETG板。

步骤6:修复ESP32开发板

使用双面胶带将开发板固定在PETG板上。

步骤7:修复Lipo电池

使用双面胶带修复除开发板外的Lipo电池。

步骤8:连接电池和电池;开发板

步骤9:准备显示引脚

LCD显示有很多变化形式不同供应商。请获取正确的数据表,并在任何补丁和连接之前阅读。

某些引脚保留用于触摸屏。由于这款LCD没有触摸屏,只需将这些引脚切断就可以减少干扰。

步骤10:连接GND引脚

在大多数情况下,很少有引脚需要连接到GND。为了减少焊接工作量,我切割铜带形状以到达所有GND引脚,然后完全焊接。

步骤11:连接Vcc引脚

需要连接Vcc,LCD电源LED电源的2个引脚。根据数据表,LCD电源可直接连接到开发板3.3 V引脚,但LED电源工作电压略低于3.3 V.因此最好在中间添加一个SMD电阻,例如12欧姆电阻。

步骤12:连接LCD&开发板支持

使用磁带连接LCD支持和开发板支持。两个支持都应保留约5毫米的间隙进行折叠。

步骤13:连接SPI引脚

以下是连接摘要:

LCD ESP32

GND -》 GND

RST -》 GPIO 33

SCL -》 GPIO 18

DC -》 GPIO 27

CS -》 GPIO 5

SDI -》 GPIO 23

SDO -》 not connected

Vcc -》 3.3 V

LED+ -》 12 Ohm resistor -》 3.3 V

LED- -》 GND

步骤14:Flash程序

在GitHub下载源代码:https://github.com/moononournation/esp32-nesemu

在源代码文件夹下,运行“make menuconfig”

选择“Nofrendo ESP32特定配置”

选择“要运行的硬件” - 》“自定义硬件”

选择“LCD类型” - 》“ST7789V LCD”

填充引脚设置:MISO - 》 -1,MOSI - 》 23,CLK - 》 18,CS - 》 5,DC - 》 27,RST - 》 33,背光 - 》 -1,IPS - 》 Y

退出并保存

运行“make -j5 flash”

运行“sh flashrom.sh PATH_TO_YOUR_ROM_FILE”

步骤15:I2C连接器

突破I2C引脚,ESP32默认I2C引脚为:

Pin 1 (SCL) -》 GPIO 22

Pin 2 (SDA) -》 GPIO 21

Pin 3 (Vcc) -》 3.3 V (no 5 V power while powered by Lipo battery)

Pin 4 (GND) -》 GND

Ste第16页:装配第1部分

按照视频步骤将所有部件折叠并挤压到外壳中。

步骤17:原型I2C游戏手柄

I2C游戏手柄的程序非常简单,只有15个代码行。但是焊接后对ATtiny861进行重新编程有点困难,所以最好先在面包板上对它进行测试。

从GitHub下载,编译和刷新程序:https://github.com/moononournation/attiny861_i2c _.。.

步骤18:构建I2C游戏手柄

以下是连接摘要:

ATtiny861 Button

GND -》 All buttons one pin

Pin 20 (PA0) -》 Up button

Pin 19 (PA1) -》 Down button

Pin 18 (PA2) -》 Left button

Pin 17 (PA3) -》 Right button

Pin 14 (PA4) -》 Select button

Pin 13 (PA5) -》 Start button

Pin 12 (PA6) -》 A button

Pin 11 (PA7) -》 B button

Pin 6 (GND) -》 I2C male pin header pin 4

Pin 5 (Vcc) -》 I2C male pin header pin 3

Pin 3 (SCL) -》 I2C male pin header pin 1

Pin 1 (SDA) -》 I2C male pin header pin 2

步骤19:装配第2部分

按照视频步骤将封面和I2C游戏手柄安装到主体上。

步骤20:可选:音频突破引脚

ESP32开发板引脚25和26输出模拟音频信号,很容易突破这两个引脚和电源引脚( 3.3 V和GND)在顶部。然后你可以修补一个耳机插上它。或者你甚至可以添加一个带扬声器的音频放大器模块来大声播放。

步骤21:下一步是什么?

NES模拟器不是ESP32唯一有趣的事情。例如。你可以用它构建一个微型python控制台。您需要更改的唯一组件是从I2C游戏手柄到I2C键盘。我认为使用ATtiny88控制器制作它并不困难。您可以按我的推特查看状态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ATtiny
    +关注

    关注

    3

    文章

    128

    浏览量

    19693
  • 模拟器
    +关注

    关注

    2

    文章

    887

    浏览量

    43593
  • ESP32
    +关注

    关注

    18

    文章

    986

    浏览量

    17898
收藏 人收藏

    评论

    相关推荐

    ESP32运行网页服务 (Web-Server)-入门篇

    什么是ESP32WebServer?ESP32WebServer是在ESP32控制器上运行的一个嵌入式网页服务。它能够处理HTTP请求并
    的头像 发表于 03-09 14:24 103次阅读
    <b class='flag-5'>ESP32</b>运行网页服务<b class='flag-5'>器</b> (Web-Server)-入门篇

    如何安装模拟器nes游戏-基于米尔瑞芯微RK3576开发板

    本篇源自:优秀创作者 小手凉凉本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微 RK3576开发板)的安装模拟器nes游戏方案测试。 核心板系统 操作系统镜像文件说明
    发表于 02-08 12:10

    esp32如何接入豆包

    要在 ESP32 上接入豆包工具,本质上是让 ESP32 设备与豆包的 API 进行通信,以获取相关服务
    的头像 发表于 02-05 13:40 726次阅读
    <b class='flag-5'>esp32</b>如何接入豆包

    控制台窗口主机是什么

    控制台窗口主机(conhost),通常指的是在Windows操作系统中用于承载和控制控制台窗口(即命令行界面或CMD窗口)的进程。以下是对控制台窗口主机的介绍: 一、定义与功能 定义
    的头像 发表于 10-08 18:12 3384次阅读

    ESP32控制器系列指南

    2024-05-29 Don Wilcher [微控制器] ESP32控制器已成为物联网 (IoT) 和嵌入式控制器领域的核心部分。 ESP32
    的头像 发表于 10-02 18:21 3877次阅读
    <b class='flag-5'>ESP32</b> 微<b class='flag-5'>控制器</b>系列指南

    esp32esp8266代码共用吗

    本文将介绍ESP32ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32
    的头像 发表于 08-19 18:23 1685次阅读

    esp8266和esp32区别是什么

    以下是关于ESP8266和ESP32的主要区别: 处理和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理
    的头像 发表于 08-19 18:16 6322次阅读

    esp32用什么软件编程

    ESP32是一款由乐鑫(Espressif)推出的低功耗、高性能的Wi-Fi和蓝牙双模微控制器,广泛应用于物联网、智能家居、智能穿戴等领域。要对ESP32进行编程,需要选择合适的编程软件和开发环境
    的头像 发表于 08-19 17:24 4938次阅读

    火语言RPA如何建立控制台应用

    火语言通过软件自带的丰富的颗粒组件库,开发出满足各种需求的应用。火语言中的应用分为两种常见类型,界面应用以及控制台应用。 下面详细介绍下控制台应用的定义以及构建方法。 控制台应用 控制台
    的头像 发表于 08-15 09:24 511次阅读
    火语言RPA如何建立<b class='flag-5'>控制台</b>应用

    苹果更新App Store指南,允许PC模拟器下载游戏

    明确宣布允许PC模拟器应用提供游戏下载功能。此前,虽然游戏模拟器应用已被允许包含游戏下载选项,但PC
    的头像 发表于 08-02 16:37 552次阅读

    请问ESP32C3如何重定向控制台串口?

    软件环境:esp-idf v4.4 硬件环境:esp32c3 问题描述:需要将控制台输出重定向到 UART1(RX: GPIO4,TX:GPIO5),UART0 用来做上下位机通信。 按照这个链接
    发表于 06-07 08:12

    RetroArch iOS模拟器现已发布,可畅玩多平台游戏

    作为第一款公开获得tvOS认证的模拟器,RetroArch让iPhone、iPad及Apple TV用户能够畅玩多种系统的游戏。同时,该模拟器支持MFi手柄,方便用户在大屏设备上进行游戏
    的头像 发表于 05-16 11:08 1390次阅读

    超酷!基于ESP32自制一个蓝牙游戏手柄

    电路识别为游戏控制器。我还用两个 ESP32 测试了该电路,使用 ESP-NOW 关于它们之间的通信,结果也很成功。 如果你想知道还能用这个电路做什么,可以参考下面的几个项目。 你可以
    发表于 05-06 16:59

    苹果商店现已上架Delta游戏模拟器,支持多种经典主机游戏

    Delta游戏模拟器由Riley Testut开发,他就是曾在十几年前风靡一时的开源GBA4iOS模拟器的创造者。遗憾的是,尽管GBA4iOS短暂辉煌,但它为Delta的诞生奠定了坚实的基础。
    的头像 发表于 04-18 11:18 1594次阅读

    Delta模拟器随AltStore上线,苹果解禁复古游戏模拟器

     4月9日消息,开发者Riley Testut在Mastodon平台宣布已获得苹果公司确认,其研发的游戏模拟器应用程序Delta将随AltStore一同正式上线。
    的头像 发表于 04-09 11:08 1078次阅读