Progetto Paragon: DOOM su Arduino Nano ESP32

Doom su Arduino Titolo immagine

C'è una domanda classica nell'universo dei giochi per computer: ma può far girare Crysis? Tuttavia, nel mondo dei giochi per microcomputer e dei microcontrollori, abbiamo una domanda leggermente diversa: ma può far girare DOOM?

Finalmente abbiamo la risposta per Arduino Nano. E la risposta è: Sì!

È effettivamente possibile giocare a DOOM su un Arduino Nano ESP32, anche se con alcuni aggiustamenti necessari.

Ma alla fine di questo piccolo progetto, avrete una console DOOM completamente portatile.

Un grande ringraziamento a Naveen, che ha creato questo progetto e poi ha caricato i dettagli su hackster.io per mostrarvi come potete realizzarlo da soli!

Credito: Naveen.

È incredibilmente semplice. Tutto quello che dovete fare è collegare i componenti tra loro e poi configurare e flashare il firmware per far funzionare DOOM.

Sulla pagina di hacker.io si stima che questo progetto richiederà 5 ore. Ma direi che con le fantastiche istruzioni di Naveen si potrebbe fare molto più velocemente.

Hardware

Come già detto, questo progetto ruota attorno a un Arduino Nano ESP32. Naveen ha scelto un Touchscreen capacitivo TFT da 2,8″ di Adafruit come display, ma se avete un altro display in giro, andrà sicuramente bene.

Inoltre, Naveen ha scelto una breadboard per tenere tutto insieme. Per la prova di concetto, come avrete notato, questa console è stata realizzata anche con alcuni avanzi di plastica. Naturalmente, una cosa del genere servirà solo come soluzione temporanea.

Se volete collegarlo in modo permanente, dovrete ingegnarvi con una custodia stampata in 3D e un saldatore.

Comunque, a parte questo, se guardate l'immagine qui sotto, vedrete che Naveen ha utilizzato anche un joystick M5Stack e un doppio pulsante Seeed Studio Grove. Anche in questo caso, se avete un altro joystick o altri pulsanti in giro, saranno sufficienti.

Credito: Naveen.

Infine, naturalmente, sono necessari alcuni cavi di collegamento per collegare tutto insieme attraverso la breadboard.

Come spiega Naveen, il collegamento tra il Nano e il display TFT si basa su l'interfaccia periferica seriale (SPI). Nel frattempo, il joystick e i pulsanti sono collegati tramite il bus del circuito integrato (I2C).

Software

Naveen chiarisce che per effettuare il porting di DOOM, il gioco richiede alcune modifiche, perché il gioco originale richiede più RAM e spazio su disco di quanto ne offra Arduino Nano.

Pertanto, l'impostazione si basa su L'interessantissimo archivio Retro-Go di Ducalex su GitHub, un firmware che modifica i giochi classici per i dispositivi ESP32.

Per questo progetto in particolare, Naveen l'ha configurato per funzionare con i joystick, i pulsanti e il display.

A questo punto è sufficiente flashare il firmware. E poi è necessario un file di configurazione per abilitare automaticamente il WiFi sull'ESP32.

Mettete il tutto sulla scheda SD e poi inseritela in Arduino Nano.

Credito: Naveen.

Il gioco ha un frame rate medio di 34 FPS con una risoluzione di 320×240 pixel.

Ora potete avere DOOM in movimento con un Arduino Nano!

Conclusione

Potete trovare gli schemi completi, il codice e ulteriori dettagli su la pagina di hacker.io.

Potete anche dare un'occhiata ad altri progetti Paragon che abbiamo presentato facendo clic su qui.

Abbiamo già parlato di uno dei progetti di Naveen, il computer a microcontrollore.

Lasciatemi concludere con una confessione. Ad essere sincero, non ho mai completato il classico DOOM completo - e voi?

21 commenti

  1. Виталий in Settembre 15, 2023 il 12:49 pm

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

    • Adam in Ottobre 9, 2023 il 10:45 am

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

  2. motosega in Settembre 15, 2023 il 1:03 pm

    che non è un Arduino nano con un atmega 328 (come quello che hai linkato).

    è un Arduino nano-stm32, che non è così sconvolgente da far girare doom. significativamente più potente di un Amiga 500, con il quale è stato fatto girare doom.

    • Adam in Ottobre 9, 2023 il 10:45 am

      Sì, il link è stato indicato in modo errato. Ci scusiamo per l'errore!

  3. Tim in Settembre 15, 2023 il 7:42 pm

    è una versione nano-esp32. Ho pensato che per un
    momento in cui hai fatto funzionare questo sistema su un AVR nano.

    • Adam in Ottobre 9, 2023 il 10:46 am

      No, scusate. Non ho chiarito abbastanza la parte relativa all'ESP32! Ho corretto il testo.

  4. Alex in Settembre 15, 2023 il 8:32 pm

    Si tratta di un "minimo" contrasto tra un Arduino Nano (8 MHz, 2 kB di RAM) e un ESP32 (240 MHz, molta più RAM)! È completamente irrefutabile e formulato.

    • Adam in Ottobre 9, 2023 il 10:47 am

      Du hast voll recht! Ho letto il testo in modo corretto. Grazie per il commento!

      • Albert in Novembre 8, 2023 il 2:05 pm

        Ma Du sprichst sehr gut Deutsch. Dove sei arrivato?

  5. Алексей in Settembre 15, 2023 il 10:42 pm

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

    • Adam in Ottobre 9, 2023 il 10:48 am

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

  6. Александр in Settembre 16, 2023 il 6:12 am

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

    • Adam in Ottobre 9, 2023 il 10:50 am

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

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

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

    • Adam in Ottobre 9, 2023 il 10:52 am

      порядке?

  8. Brak wiedzy autora in Settembre 18, 2023 il 4:57 am

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

    • Adam in Ottobre 9, 2023 il 10:51 am

      Masz rację, przepraszam za pomyłkę! Per creare Arduino Nano ESP32

  9. Brak wiedzy autora in Settembre 18, 2023 il 4:59 am

    wifi na karcie SD?

    • Adam in Ottobre 9, 2023 il 10:55 am

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

  10. robbert in Dicembre 4, 2023 il 8:33 pm

    piuttosto bloccato nell'avanzamento dell'esp idf. (il codice non è lo stesso dei vostri documenti) è disponibile una versione precompilata che deve essere solo caricata?
    sarebbe bello 😀

  11. robbert in Dicembre 4, 2023 il 8:38 pm

    Sembra che il mio ultimo commento non sia riuscito a passare haha

    Sono piuttosto bloccato nell'avanzamento dell'esp-idf. Il codice sembra essere cambiato nel tempo.
    volevo costruirne uno per i miei figli questo Natale haha
    C'è la possibilità di ottenere un bin precompilato da caricare sull'esp32?

    Con i migliori saluti e molti ringraziamenti
    Robbert

Lascia un commento