Projekt Paragon: DOOM na Arduino Nano ESP32
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ć!
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.
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.
Ś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?
это ложь в некоторой степени. представленная ссылка ведёт на Ардуино нано с атмега 128, а на картинках esp32. это небо и земля
Да, ссылка была неверной - спасибо за комментарий!
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.
Tak, link został podany nieprawidłowo. Przepraszamy za pomyłkę!
to jest wersja nano-esp32. Myślałem o
w momencie, gdy miałeś to uruchomione na AVR nano.
Nie, przepraszam. Nie wyjaśniłem wystarczająco jasno części ESP32! Poprawiłem tekst.
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.
Du hast voll recht! Ich habe den Text korrigiert. Dziękuję za komentarz!
Aber Du sprichst sehr gut Deutsch. Wo kommst Du her?
это не просто Arduino Nano, а ардуино с контроллером esp32. А ссылка отправляет нас в магазин где просто arduino nano, а не esp32
Да, ссылка была неверной - спасибо за комментарий!
Что бы писать такие статьи, нужно хоть немного разбираться в этом. Создатель молодец, а автор статьи написал полную ахинею.
Хаха извини за ахинею!
просьба поменять заголовок, так как используется Arduino Nano ESP32
Все в порядке?
to nie jest Arduino nano!
nano jest na atmedze a nie na esp
Masz rację, przepraszam za pomyłkę! To jest Arduino Nano ESP32
wifi na karcie SD ???
Myślę, że w tłumaczeniu brakowało jednego słowa. Teraz lepiej?
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 😀
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