Paragon 项目:用 Arduino Nano ESP32 制作 DOOM

Arduino 上的 Doom 标题图片

在电脑游戏领域有一个经典问题--它能运行《孤岛危机》吗?然而,在微机游戏和微控制器的世界里,我们有一个略微不同的问题--但它能运行《毁灭战士》吗?

我们终于找到了 Arduino Nano 的答案。答案是 是的

您确实可以在 Arduino Nano ESP32 上玩《毁灭战士》,尽管需要进行一些必要的调整。

不过,在这个小项目结束时,你将拥有一个完全便携的 DOOM 控制台。

Naveen 制作了这款软件,并将细节上传到 hackster.io,向大家展示了如何自己组装!

学分 纳文.

实际上,这一切都简单得令人难以置信。您所需要做的就是将组件连接起来,然后配置和闪存固件,以便运行 DOOM。

在 hacker.io 页面上,估计这个项目需要 5 个小时。但我想说,有了 Naveen 的精彩指导,你可能比这还要快得多。

硬件设施

如前所述,该项目围绕 Arduino Nano ESP32 展开。Naveen 使用的是 Adafruit 2.8 英寸 TFT 电容式触摸屏 作为显示屏,但如果你身边有另一个显示屏,那肯定也可以。

此外,Naveen 还用面包板将所有东西固定在一起。你可能已经注意到,为了验证概念,这个控制台也是用一些剩余的塑料制成的。当然,这样的东西只能作为临时解决方案。

如果你想把它永久连接起来,你可能需要创造性地使用 3D 打印外壳和烙铁。

总之,除此之外,如果你看看下面的图片,就会发现 Naveen 还使用了 M5Stack 操纵杆和 Seeed Studio Grove 双按钮。同样,如果你身边有其他操纵杆或其他按钮,这些也足够了。

学分 纳文.

最后,当然还需要一些跳线,以便通过面包板将所有东西连接起来。

正如 Naveen 解释的那样,Nano 和 TFT 显示屏之间的连接基于 串行外设接口 (SPI).同时,操纵杆和按钮通过 集成电路总线 (I2C).

软件

Naveen 解释说,为了移植 DOOM,需要对游戏进行一些修改,因为原始游戏需要的内存和磁盘空间比 Arduino Nano 提供的要大。

因此,设置的依据是 Ducalex 非常酷的 Retro-Go 存储库 在 GitHub 上发布,它是为 ESP32 设备修改经典游戏的固件。

Naveen 专门为本项目配置了操纵杆、按钮和显示屏。

然后,您只需闪存固件。然后你需要一个配置文件,以便在 ESP32 上自动启用 WiFi。

将其放入 SD 卡,然后插入 Arduino Nano。

学分 纳文.

游戏的平均帧速率为 34 FPS,分辨率为 320×240 像素。

现在,您可以用 Arduino Nano 随身携带 DOOM!

总结

您可以在以下网站上找到完整的原理图、代码和更多详细信息 hacker.io 页面.

您还可以点击以下链接查看我们介绍过的更多 Paragon 项目 这里.

我们曾经报道过 Naveen 的一个项目、 微控制器计算机.

最后,我得坦白一件事。老实说,我从未真正完成过经典的完整版《毁灭战士》,你呢?

21评论

  1. Виталий 在9 月 15, 2023在12:49 下午

    это ложь в некоторой степени.представленная ссылка ведёт на Ардуино нано с атмега 128, а на картинках esp32.это небо и земля

    • Adam 在10 月 9, 2023在10:45 上午

      Да, ссылка была неверной - спасибо за комментарий!

  2. motosega 在9 月 15, 2023在1:03 下午

    这不是带有 Atmega 328 的 Arduino nano(就像你链接的那个)。

    它是一个 Arduino nano-stm32,在上面运行 doom 并不令人震惊,比人们在 Amiga 500 上运行 doom 要强大得多。

    • Adam 在10 月 9, 2023在10:45 上午

      是的,链接列错了。对不起,我搞错了!

  3. Tim 在9 月 15, 2023在7:42 下午

    那是一个纳米 ESP32 版本。 我以为
    你在 AVR nano 上运行的那一刻

    • Adam 在10 月 9, 2023在10:46 上午

      不,对不起。我没有说清楚 ESP32 的部分!我已经改正了。

  4. Alex 在9 月 15, 2023在8:32 下午

    这是 Arduino Nano(8 MHz,2 kB RAM)和 ESP32(240 MHz,更多 RAM)之间的 "最小 "差异!这完全是不可逆转的设计。

    • Adam 在10 月 9, 2023在10:47 上午

      Du hast voll recht!Ich habe den Text korrigiert.感谢您的评论!

      • Albert 在11 月 8, 2023在2:05 下午

        您的德语非常流利。您从哪里来?

  5. Алексей 在9 月 15, 2023在10:42 下午

    это не просто Arduino Nano, а ардуино с контроллером esp32.А ссылка отправляет нас в магазин где просто arduino nano, а не esp32.

    • Adam 在10 月 9, 2023在10:48 上午

      Да, ссылка была неверной - спасибо за комментарий!

  6. Александр 在9 月 16, 2023在6:12 上午

    Что бы писать такие статьи, нужно хоть немного разбираться в этом.Создатель молодец, а автор статьи написал полную ахинею.

    • Adam 在10 月 9, 2023在10:50 上午

      Хаха извини за ахинею!

  7. Проходящий мимо пользователь 在9 月 16, 2023在6:16 上午

    просьба поменять заголовок, так как используется Arduino Nano ESP32

    • Adam 在10 月 9, 2023在10:52 上午

      您是什么人?

  8. Brak wiedzy autora 在9 月 18, 2023在4:57 上午

    to nie jest Arduino nano !
    nano jest na atmedze a nie na esp

    • Adam 在10 月 9, 2023在10:51 上午

      请点击此处下载!To jest Arduino Nano ESP32

  9. Brak wiedzy autora 在9 月 18, 2023在4:59 上午

    wifi na karcie SD ?

    • Adam 在10 月 9, 2023在10:55 上午

      我的天啊,我的天啊。您想知道什么?

  10. robbert 在12 月 4, 2023在8:33 下午

    很卡在 esp idf 进度中。(代码与你们文件中的不一样)有只需上传的预编译版本吗?
    那就太好了 😀

  11. robbert 在12 月 4, 2023在8:38 下午

    看来我的上一条评论没有被采纳,哈哈

    代码似乎随着时间的推移而改变。
    今年圣诞节,我想给我的孩子们做一个,哈哈
    有什么办法可以获取预编译的 bin 上传到 esp32?

    致以亲切的问候和衷心的感谢
    罗伯特

发表评论