Obsah:

Ručná herná konzola ESP32: 21 krokov (s obrázkami)
Ručná herná konzola ESP32: 21 krokov (s obrázkami)

Video: Ručná herná konzola ESP32: 21 krokov (s obrázkami)

Video: Ručná herná konzola ESP32: 21 krokov (s obrázkami)
Video: The World’s Smallest Game Boy 2024, Júl
Anonim
Image
Image
Príprava hardvéru
Príprava hardvéru

Tento návod ukazuje, ako použiť ESP32 a ATtiny861 na vytvorenie hernej konzoly emulátora NES.

Krok 1: Príprava hardvéru

Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
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

Príprava softvéru
Príprava softvéru
Príprava softvéru
Príprava softvéru
Príprava softvéru
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č

3D tlač
3D tlač

Stiahnite si a vytlačte puzdro:

Krok 4: Podpora LCD

Podpora LCD
Podpora LCD
Podpora LCD
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

Pripravte si dosku PETG
Pripravte si dosku PETG
Pripravte si dosku PETG
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

Opravte vývojovú dosku ESP32
Opravte vývojovú dosku ESP32

Na obojstrannú lepiacu pásku pripevnite dosku vývojára na dosku PETG.

Krok 7: Opravte batériu Lipo

Opravte batériu Lipo
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

Pripojte batériu a dosku pre vývojárov
Pripojte batériu a dosku pre vývojárov

Krok 9: Pripravte si kolíky na zobrazenie

Pripravte si kolíky na zobrazenie
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

Pripojte GND piny
Pripojte GND piny
Pripojte GND piny
Pripojte GND piny

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

Pripojte Vcc piny
Pripojte Vcc piny

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

Pripojte podporu LCD a vývojovej dosky
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

Pripojte piny SPI
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

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

Krok 15: Konektor I2C

I2C konektor
I2C konektor
I2C konektor
I2C konektor
I2C konektor
I2C konektor

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

Image
Image

Podľa krokov videa zložte a vtlačte všetky diely do puzdra.

Krok 17: Prototyp I2C Gamepad

Prototyp gamepadu I2C
Prototyp gamepadu I2C
Prototyp gamepadu I2C
Prototyp gamepadu I2C

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

Zostavte gamepad I2C
Zostavte gamepad I2C
Zostavte gamepad I2C
Zostavte gamepad I2C
Zostavte gamepad I2C
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

Image
Image
Voliteľné: Audio Breakout piny
Voliteľné: Audio Breakout piny

Pri inštalácii krytu a gamepadu I2C na hlavné telo postupujte podľa pokynov pre video.

Krok 20: Voliteľné: Audio Breakout piny

Image
Image
Voliteľné: Audio Breakout piny
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?

Čo bude ďalej?
Č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: