
Obsah:
- Krok 1: Príprava hardvéru
- Krok 2: Príprava softvéru
- Krok 3: 3D tlač
- Krok 4: Podpora LCD
- Krok 5: Pripravte si dosku PETG
- Krok 6: Opravte vývojovú dosku ESP32
- Krok 7: Opravte batériu Lipo
- Krok 8: Pripojte batériu a dosku pre vývojárov
- Krok 9: Pripravte si kolíky na zobrazenie
- Krok 10: Pripojte piny GND
- Krok 11: Pripojte piny Vcc
- Krok 12: Pripojte podporu LCD a vývojovej dosky
- Krok 13: Pripojte piny SPI
- Krok 14: Program Flash
- Krok 15: Konektor I2C
- Krok 16: Montáž časť 1
- Krok 17: Prototyp I2C Gamepad
- Krok 18: Zostavte gamepad I2C
- Krok 19: Montáž časť 2
- Krok 20: Voliteľné: Audio Breakout piny
- Krok 21: Čo bude ďalej?
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05



Tento návod ukazuje, ako použiť ESP32 a ATtiny861 na vytvorenie hernej konzoly emulátora NES.
Krok 1: Príprava hardvéru


Vývojová doska ESP32
Tentokrát používam vývojovú dosku TTGO T8 ESP32. Táto doska má vstavaný obvod nabíjania a regulácie Lipo, čo môže pomôcť znížiť počet ďalších komponentov.
Displej
Tentokrát používam 2,4 IPS LCD. Ovládač ovládača je ST7789V a rozlíšenie je 320 x 240. Toto rozlíšenie je najvhodnejšie pre emulátor NES s rozlíšením 252 x 224.
Batéria
Tentokrát používam batériu 454261 Lipo. Hrúbka dosky ESP32 dev je 4,5 mm a šírka dosky je 61 mm.
Hlavička špendlíka
4 -kolíková zásuvka s okrúhlymi kolíkmi a 4 -kolíková zásuvka s okrúhlym kolíkom pre pripojenie gamepadu I2C.
Doska PETG
Malý tanier PET/PETG na podoprenie dosky pre vývojárov a batérie Lipo nájdete ľahko v balení produktu.
Viacúčelová DPS
Vyžadujú sa 2 PCB, 1 0,4 mm hrubé na podoprenie displeja, 1 1,2 mm hrubé na gamepad I2C.
Gombíky
Tlačidlo s 5 smermi, 2 malé tlačidlá pre výber a spustenie a 2 pre tlačidlá A a B.
Ovládač gamepadu I2C
Tentokrát používam mikrokontrolér ATtiny861 ako ovládač gamepadu I2C.
Iní
1 odpor SMD 12 ohmov, programátor ISP (napr. TinyISP)
Krok 2: Príprava softvéru



Arduino IDE
Stiahnite a nainštalujte Arduino IDE, ak ešte nie je:
Podpora ATTinyCore
Ak ešte nie je k dispozícii podpora ATTinyCore, postupujte podľa týchto pokynov:
ESP-IDF
Postupujte podľa sprievodcu ESP-IDF na začiatku a nastavte vývojové prostredie, ak ešte nie je:
Krok 3: 3D tlač

Stiahnite si a vytlačte puzdro:
Krok 4: Podpora LCD


Vystrihnite PCB s rozmermi 24 x 27 dier 0,4 mm na podporu LCD. Nezabudnite si vyhradiť nejaký priestor na skladanie LCD FPC. Potom pomocou obojstrannej lepiacej pásky pripevnite displej LCD k doske plošných spojov.
Krok 5: Pripravte si dosku PETG


Vystrihnite dosku PETG 62 mm x 69 mm pre dosku pre vývojárov a podporu batérie Lipo.
Krok 6: Opravte vývojovú dosku ESP32

Na obojstrannú lepiacu pásku pripevnite dosku vývojára na dosku PETG.
Krok 7: Opravte batériu Lipo

Pomocou obojstrannej lepiacej pásky pripevnite batériu Lipo vedľa dosky pre vývojárov.
Krok 8: Pripojte batériu a dosku pre vývojárov

Krok 9: Pripravte si kolíky na zobrazenie

LCD displej má veľa variácií od rôznych dodávateľov. Získajte správny technický list a prečítajte si ho pred opravou a pripojením.
Niektoré piny sú vyhradené pre dotykový panel. Pretože tento LCD displej nemá dotykový panel, rušenie môžete obmedziť jednoduchým vystrihnutím týchto pinov.
Krok 10: Pripojte piny GND


Vo väčšine prípadov existuje niekoľko pinov, ktoré vyžadujú pripojenie k GND. Aby som znížil úsilie pri spájkovaní, odrezal som tvar medenej pásky, aby som dosiahol všetky piny GND, a potom spájkovanie celkom.
Krok 11: Pripojte piny Vcc

Na pripojenie k Vcc, napájaniu LCD a napájaniu LED sú potrebné 2 piny. Podľa dátového listu je možné napájanie LCD priamo pripojiť k 3,3 V kolíku na doske, ale výkon LED je o niečo nižší ako 3,3 V. Je preto lepšie pridať odpor SMD do stredu, napr. Odpor 12 ohmov
Krok 12: Pripojte podporu LCD a vývojovej dosky

spoločne používajte podporu LCD pásky a podporu dosky vývojára. Obe podpery by si mali vyhradiť asi 5 mm medzeru na skladanie.
Krok 13: Pripojte piny SPI

Tu je zhrnutie pripojenia:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nepripojené Vcc -> 3,3 V LED+ -> 12 Ohm odpor -> 3,3 V LED - -> GND
Krok 14: Program Flash




- Stiahnite si zdrojový kód na GitHub:
- V priečinku so zdrojovým kódom spustite príkaz „make menuconfig“
- Vyberte „Konfigurácia špecifická pre Nofrendo ESP32“
- Vyberte položku „Hardvér, na ktorom sa má spustiť“-> „Vlastný hardvér“
- Vyberte „Typ LCD“-> „LCD ST7789V“
- Nastavenia výplňového kolíka: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, podsvietenie -> -1, IPS -> Y
- Ukončiť a uložiť
- Spustite „make -j5 flash“
- Spustite „sh flashrom.sh PATH_TO_YOUR_ROM_FILE“
Krok 15: Konektor I2C



Odlomte piny I2C, predvolené piny I2C ESP32 sú:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (bez napájania 5 V pri napájaní batériou Lipo) Pin 4 (GND) -> GND
Krok 16: Montáž časť 1


Podľa krokov videa zložte a vtlačte všetky diely do puzdra.
Krok 17: Prototyp I2C Gamepad


Program pre I2C Gamepad je veľmi jednoduchý, má iba 15 riadkov kódu. Je však trochu ťažké preprogramovať ATtiny861 po spájkovaní, takže je lepšie ho najskôr otestovať na doske.
Stiahnite si, skompilovajte a flashujte program z GitHub:
Krok 18: Zostavte gamepad I2C



Tu je zhrnutie pripojenia:
Tlačidlo ATtiny861
GND -> Všetky tlačidlá jeden pin Pin 20 (PA0) -> Tlačidlo Hore Pin 19 (PA1) -> Tlačidlo dole Pin 18 (PA2) -> Ľavé tlačidlo Pin 17 (PA3) -> Pravé tlačidlo Pin 14 (PA4) -> Tlačidlo výberu Kolík 13 (PA5) -> Tlačidlo Štart Kolík 12 (PA6) -> Tlačidlo A Kolík 11 (PA7) -> Tlačidlo B Kolík 6 (GND) -> I2C kolíkový kolíkový kolík 4 kolík 5 (Vcc) -> I2C kolíkový kolíkový konektor samec 3 pin 3 (SCL) -> I2C kolíkový kolíkový kolík 1 pin 1 (SDA) -> I2C kolíkový konektor 2
Krok 19: Montáž časť 2



Pri inštalácii krytu a gamepadu I2C na hlavné telo postupujte podľa pokynov pre video.
Krok 20: Voliteľné: Audio Breakout piny



ESP32 dev doska 25 a 26 vydáva analógový zvukový signál, je veľmi ľahké oddeliť tieto 2 piny a tiež napájacie piny (3,3 V a GND) na vrchu. Potom si môžete nasadiť slúchadlo a pripojiť ho. Alebo dokonca môžete pridať modul zosilňovača zvuku s reproduktorom a prehrávať ho nahlas.
Krok 21: Čo bude ďalej?

Emulátor NES nie je jedinou zaujímavou vecou, ktorú môžete s ESP32 vytvoriť. Napr. môžete s ním postaviť konzolu micro python. Jediným komponentom, ktorý musíte zmeniť, je gamepad I2C na klávesnicu I2C. Myslím si, že nie je také ťažké to zvládnuť pomocou ovládača ATtiny88. Stav môžete sledovať na mojom twitteri.
Odporúča:
Ručná herná konzola pre domácich majstrov používajúca RetroPie: 7 krokov

Ručná herná konzola DIY používajúca RetroPie: Pozrite sa na vyššie uvedené video, aby ste lepšie porozumeli tomuto projektu. Dobre. Je čas začať! V prvom rade použijeme RetroPie. Zostávajú nám teda dve možnosti. Ak sme už nainštalovali Raspbian na našu kartu SD, môžeme nainštalovať RetroP
Ručná herná konzola DIY Raspberry Pi Zero: 6 krokov (s obrázkami)

Ručná herná konzola DIY Raspberry Pi Zero: V tomto projekte vám ukážem, ako som použil batériu Raspberry Pi Zero, NiMH, domáci ochranný obvod proti vybitiu, spätný LCD a zvukový zosilňovač na vytvorenie ručnej hernej konzoly, ktorú je možné hrať. retro hry. Začnime
Herná konzola 1963 Pi Tourer: 9 krokov (s obrázkami)

Herná konzola 1963 Pi Tourer: Toto je autorádio Sky Tourer z roku 1963, ktoré som prerobil na praktickú prenosnú retro hernú konzolu. Má vstavaný Raspberry Pi 3 so 6 arkádovými tlačidlami a joystickom, ktorý ovláda tieto retro retro skřítky prostredníctvom dosky ovládača Picade.
Ručná herná konzola - Klon Arduboy: 6 krokov (s obrázkami)

Ručná herná konzola | Arduboy Clone: Pred niekoľkými mesiacmi som narazil na Arduboy, ktorý je podľa oficiálnych webových stránok miniatúrna 8-bitová herná platforma, ktorá uľahčuje učenie sa, zdieľanie a hranie hier online. Je to platforma s otvoreným zdrojovým kódom. Hry pre Arduboy vytvára používateľ
Ručná herná konzola Recalbox využívajúca 2,2 TFT: 6 krokov

Handheld Recalbox Game Console using 2.2 TFT: Instructions for DIY of a handheld recalbox game console using 2.2 “TFT LCD and a Raspberry Pi 0 W and GPIO buttons. You can view this youtube video for a full demonstration of the steps involved: A. Získajte všetky diely.B. Spájajte diely dohromady