Projekt Paragon: DOOM na Arduino Nano ESP32

Obraz tytułowy Doom na Arduino

We wszechświecie gier komputerowych istnieje klasyczne pytanie - ale czy może uruchomić Crysis? Jednak w świecie gier mikrokomputerowych i mikrokontrolerów mamy nieco inne pytanie - ale czy może uruchomić DOOM?

W końcu mamy odpowiedź dla Arduino Nano. A odpowiedź brzmi: tak!

Rzeczywiście można grać w DOOM na Arduino Nano ESP32, aczkolwiek z pewnymi niezbędnymi dostosowaniami.

Ale pod koniec tego małego projektu będziesz mieć w pełni przenośną konsolę DOOM.

Ogromny okrzyk dla Naveena, który stworzył to, a następnie przesłał szczegóły na hackster.io, aby pokazać, jak możesz sam to złożyć!

Kredyt: Naveen.

I naprawdę, jest to niewiarygodnie proste. Wszystko, co musisz zrobić, to połączyć ze sobą komponenty, a następnie skonfigurować i sflashować oprogramowanie układowe, aby uruchomić DOOM.

Na stronie hacker.io szacuje się, że ten projekt zajmie ci 5 godzin. Powiedziałbym jednak, że prawdopodobnie można to zrobić znacznie szybciej dzięki fantastycznym instrukcjom Naveena.

Hardware

Tak więc, jak już wspomniano, projekt ten obraca się wokół Arduino Nano ESP32. Naveen wybrał Pojemnościowy ekran dotykowy Adafruit 2,8″ TFT jako wyświetlacz, ale jeśli masz inny wyświetlacz leżący w pobliżu, z pewnością się nada.

Dodatkowo, Naveen wybrał płytkę prototypową, aby utrzymać wszystko razem. Jak można zauważyć, konsola została wykonana z resztek plastiku. Oczywiście coś takiego posłuży tylko jako tymczasowe rozwiązanie.

Jeśli chcesz podłączyć go na stałe, być może będziesz musiał wykazać się kreatywnością, korzystając z obudowy wydrukowanej w 3D i lutownicy.

Poza tym, jeśli spojrzysz na poniższe zdjęcie, zobaczysz, że Naveen wykorzystał również joystick M5Stack i podwójny przycisk Seeed Studio Grove. Ponownie, jeśli masz inny joystick lub inne przyciski leżące w pobliżu, będą one wystarczające.

Kredyt: Naveen.

Wreszcie, oczywiście, będziesz potrzebować kilku przewodów połączeniowych, aby połączyć wszystko razem za pomocą płytki prototypowej.

Jak wyjaśnia Naveen, połączenie między Nano a wyświetlaczem TFT opiera się na szeregowy interfejs peryferyjny (SPI). W międzyczasie joystick i przyciski są połączone przez magistrala I2C (Inter-Integrated Circuit Bus).

Oprogramowanie

Naveen wyjaśnia, że aby przenieść DOOM, gra wymaga pewnych modyfikacji, ponieważ oryginalna gra wymaga więcej pamięci RAM i miejsca na dysku niż oferuje Arduino Nano.

W związku z tym konfiguracja opiera się na Bardzo fajne repozytorium Retro-Go firmy Ducalex na GitHub, który jest oprogramowaniem modyfikującym klasyczne gry dla urządzeń ESP32.

Specjalnie na potrzeby tego projektu Naveen skonfigurował go do pracy z joystickami, przyciskami i wyświetlaczem, tworząc konfigurację DOOM, którą z pewnością docenisz.

Następnie wystarczy sflashować oprogramowanie układowe. Następnie potrzebny jest plik konfiguracyjny, aby automatycznie włączyć WiFi w ESP32.

Umieść go na karcie SD, a następnie włóż do Arduino Nano.

Kredyt: Naveen.

Średnia liczba klatek na sekundę w grze wynosi 34 FPS przy rozdzielczości 320×240 pikseli.

Teraz możesz mieć DOOM w podróży dzięki Arduino Nano!

Wniosek

Pełne schematy, kod i więcej szczegółów można znaleźć na stronie strona hacker.io.

Możesz również sprawdzić więcej projektów Paragon, które prezentowaliśmy, klikając tutaj.

O jednym z projektów Naveena pisaliśmy już wcześniej, komputer z mikrokontrolerem.

Zakończę to wyznaniem. Szczerze mówiąc, nigdy nie ukończyłem klasycznego, pełnego DOOM - a ty?

Komentarzy: 21

  1. Виталий wrzesień 15, 2023 o 12:49 pm

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

    • Adam październik 9, 2023 o 10:45 am

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

  2. motosega wrzesień 15, 2023 o 1:03 pm

    to nie jest Arduino nano z atmegą 328 (jak ten, do którego link podałeś).

    Jest to Arduino nano-stm32. co nie jest tak szokujące, aby uruchomić dooma. znacznie potężniejszy niż powiedzmy: Amiga 500, na której ludzie uruchomili dooma.

    • Adam październik 9, 2023 o 10:45 am

      Tak, link został podany nieprawidłowo. Przepraszamy za pomyłkę!

  3. Tim wrzesień 15, 2023 o 7:42 pm

    to jest wersja nano-esp32. Myślałem o
    w momencie, gdy miałeś to uruchomione na AVR nano.

    • Adam październik 9, 2023 o 10:46 am

      Nie, przepraszam. Nie wyjaśniłem wystarczająco jasno części ESP32! Poprawiłem tekst.

  4. Alex wrzesień 15, 2023 o 8:32 pm

    Es ist ein "minimaler" Unterschied zwischen einem Arduino Nano (8 MHz, 2kB RAM) und einem ESP32 (240MHz, viel mehr RAM)! Das ist komplett irreführend formuliert.

    • Adam październik 9, 2023 o 10:47 am

      Du hast voll recht! Ich habe den Text korrigiert. Dziękuję za komentarz!

      • Albert listopad 8, 2023 o 2:05 pm

        Aber Du sprichst sehr gut Deutsch. Wo kommst Du her?

  5. Алексей wrzesień 15, 2023 o 10:42 pm

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

    • Adam październik 9, 2023 o 10:48 am

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

  6. Александр wrzesień 16, 2023 o 6:12 am

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

    • Adam październik 9, 2023 o 10:50 am

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

  7. Проходящий мимо пользователь wrzesień 16, 2023 o 6:16 am

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

    • Adam październik 9, 2023 o 10:52 am

      Все в порядке?

  8. Brak wiedzy autora wrzesień 18, 2023 o 4:57 am

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

    • Adam październik 9, 2023 o 10:51 am

      Masz rację, przepraszam za pomyłkę! To jest Arduino Nano ESP32

  9. Brak wiedzy autora wrzesień 18, 2023 o 4:59 am

    wifi na karcie SD ???

    • Adam październik 9, 2023 o 10:55 am

      Myślę, że w tłumaczeniu brakowało jednego słowa. Teraz lepiej?

  10. robbert grudzień 4, 2023 o 8:33 pm

    dość utknął w postępie esp idf. (kod nie jest taki sam jak w twoich dokumentach) dostępna jest wstępnie skompilowana wersja, która wymaga jedynie przesłania?
    byłoby miło 😀

  11. robbert grudzień 4, 2023 o 8:38 pm

    Wygląda na to, że mój ostatni komentarz nie dotarł haha

    Utknąłem na etapie esp-idf. Wygląda na to, że kod zmienił się z czasem.
    chciałem zbudować taki dla moich dzieci na święta haha
    Czy jest jakaś opcja, aby uzyskać wstępnie skompilowany bin do przesłania do esp32?

    Z serdecznymi pozdrowieniami i podziękowaniami
    Robbert

Pozostaw komentarz