Obsah:

Ruční herní konzole ESP32: 21 kroků (s obrázky)
Ruční herní konzole ESP32: 21 kroků (s obrázky)

Video: Ruční herní konzole ESP32: 21 kroků (s obrázky)

Video: Ruční herní konzole ESP32: 21 kroků (s obrázky)
Video: Sonoff Ihost - Inteligentní domácí řídicí centrum bez přístupu k internetu se Zigbee a Matter 2024, Červenec
Anonim
Image
Image
Příprava hardwaru
Příprava hardwaru

Tento návod ukazuje, jak použít ESP32 a ATtiny861 k vytvoření herní konzoly emulátoru NES.

Krok 1: Příprava hardwaru

Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
Příprava hardwaru

Deska pro vývojáře ESP32

Tentokrát používám vývojovou desku TTGO T8 ESP32. Tato deska má vestavěný nabíjecí a regulační obvod Lipo, což může pomoci snížit počet dalších komponent.

Zobrazit

Tentokrát používám 2,4 IPS LCD. Ovladač ovladače je ST7789V a rozlišení je 320 x 240. Toto rozlišení je nejvhodnější pro emulátor NES s rozlišením 252 x 224.

baterie

Tentokrát používám baterii 454261 Lipo. 4,5 mm je tloušťka desky ESP32 dev a 61 mm je šířka desky.

Pin Header

4kolíkový konektor pro kulaté kolíky a 4kolíkový konektor pro kulatý kolík pro připojení gamepadu I2C.

PETG deska

Malá deska PET/PETG pro podporu desky pro vývoj a baterie Lipo ji snadno najdete v balení produktu.

Víceúčelová deska plošných spojů

Jsou vyžadovány 2 PCB, 1 0,4 mm silné pro podporu displeje, 1 1,2 mm silné pro I2C gamepad.

Tlačítka

Tlačítko s 5 směry, 2 malá tlačítka pro výběr a spuštění a 2 pro tlačítka A a B.

Ovladač gamepadu I2C

Tentokrát používám mikrokontrolér ATtiny861 jako ovladač gamepadu I2C.

Ostatní

1 rezistor SMD 12 Ohm, programátor ISP (např. TinyISP)

Krok 2: Příprava softwaru

Příprava softwaru
Příprava softwaru
Příprava softwaru
Příprava softwaru
Příprava softwaru
Příprava softwaru

Arduino IDE

Stáhněte a nainstalujte Arduino IDE, pokud ještě ne:

Podpora ATTinyCore

Pokud ještě nemáte podporu ATTinyCore, postupujte podle pokynů k instalaci:

ESP-IDF

Postupujte podle příručky Začínáme s ESP-ID a nastavte vývojové prostředí, pokud ještě ne:

Krok 3: 3D tisk

3D tisk
3D tisk

Stáhněte si a vytiskněte pouzdro:

Krok 4: Podpora LCD

Podpora LCD
Podpora LCD
Podpora LCD
Podpora LCD

Vyřízněte 24 x 27 otvorů 0,4 mm PCB pro podporu LCD. Nezapomeňte si vyhradit místo pro skládání LCD FPC. Poté pomocí oboustranné lepicí pásky upevněte LCD na desku plošných spojů.

Krok 5: Připravte desku PETG

Připravte si desku PETG
Připravte si desku PETG
Připravte si desku PETG
Připravte si desku PETG

Vystřihněte desku PETG 62 mm x 69 mm pro desku pro vývoj a podporu baterie Lipo.

Krok 6: Opravte vývojovou desku ESP32

Opravte vývojovou desku ESP32
Opravte vývojovou desku ESP32

Pomocí oboustranné lepicí pásky připevněte desku vývojáře na desku PETG.

Krok 7: Opravte baterii Lipo

Opravte baterii Lipo
Opravte baterii Lipo

Pomocí oboustranné lepicí pásky připevněte baterii Lipo vedle desky pro vývojáře.

Krok 8: Připojte desku baterie a vývojáře

Připojte baterii a desku pro vývojáře
Připojte baterii a desku pro vývojáře

Krok 9: Připravte si zobrazovací piny

Připravte si zobrazovací piny
Připravte si zobrazovací piny

LCD displej má mnoho variant od různých prodejců. Získejte správný datový list a přečtěte si jej před jakoukoli opravou a připojením.

Některé piny jsou vyhrazeny pro dotykový panel. Vzhledem k tomu, že tento displej LCD nemá dotykový panel, můžete rušení omezit jednoduše vyříznutím těchto kolíků.

Krok 10: Připojte GND piny

Připojte GND piny
Připojte GND piny
Připojte GND piny
Připojte GND piny

Ve většině případů existuje několik pinů, které vyžadují připojení k GND. Abych snížil úsilí při pájení, ustřihl jsem tvar měděné pásky, abych dosáhl na všechny piny GND, a pak pájení úplně.

Krok 11: Připojte Vcc piny

Připojte Vcc piny
Připojte Vcc piny

K připojení Vcc, napájení LCD a napájení LED jsou zapotřebí 2 piny. Podle datového listu lze napájení LCD přímo připojit k desce dev 3,3 V, ale napájení LED pracuje o něco méně než 3,3 V. Je tedy lepší přidat odpor SMD uprostřed, např. 12 ohmový odpor.

Krok 12: Připojte podporu LCD a vývojové desky

Připojte podporu LCD a vývojové desky
Připojte podporu LCD a vývojové desky

použijte společně páskové připojení LCD podpory a podpory desky vývojáře. Obě podpěry by si měly vyhradit kolem 5 mm mezery pro skládání.

Krok 13: Připojte piny SPI

Připojte piny SPI
Připojte piny SPI

Zde je shrnutí připojení:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nepřipojeno Vcc -> 3,3 V LED+ -> 12 Ohm rezistor -> 3,3 V LED - -> GND

Krok 14: Flash Program

Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
  1. Stáhněte si zdrojový kód na GitHub:
  2. Ve složce zdrojového kódu spusťte „make menuconfig“
  3. Vyberte „Konfigurace specifická pro Nofrendo ESP32“
  4. Vyberte „Hardware pro spuštění“-> „Vlastní hardware“
  5. Vyberte „Typ LCD“-> „LCD ST7789V“
  6. Nastavení kolíku výplně: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
  7. Ukončit a uložit
  8. Spusťte „make -j5 flash“
  9. Spusťte „sh flashrom.sh PATH_TO_YOUR_ROM_FILE“

Krok 15: Konektor I2C

Konektor I2C
Konektor I2C
Konektor I2C
Konektor I2C
Konektor I2C
Konektor I2C

Prolomte I2C piny, výchozí I2C piny ESP32 jsou:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (bez napájení 5 V při napájení baterií Lipo) Pin 4 (GND) -> GND

Krok 16: Montáž Část 1

Image
Image

Při skládání a mačkání všech částí do pouzdra postupujte podle pokynů pro video.

Krok 17: Prototyp I2C Gamepad

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

Program pro I2C Gamepad je velmi jednoduchý, pouze 15 řádků kódu. Je ale trochu těžké přeprogramovat ATtiny861 po pájení, takže je lepší to nejprve vyzkoušet na prkénku.

Stáhněte si, zkompilovejte a flashujte program z GitHubu:

Krok 18: Sestavte I2C Gamepad

Vybudujte I2C Gamepad
Vybudujte I2C Gamepad
Vybudujte I2C Gamepad
Vybudujte I2C Gamepad
Vybudujte I2C Gamepad
Vybudujte I2C Gamepad

Zde je shrnutí připojení:

Tlačítko ATtiny861

GND -> Všechna tlačítka jeden pin Pin 20 (PA0) -> Tlačítko Nahoru Pin 19 (PA1) -> Tlačítko dolů Pin 18 (PA2) -> Levé tlačítko Pin 17 (PA3) -> Pravé tlačítko Pin 14 (PA4) -> Tlačítko výběru Pin 13 (PA5) -> Tlačítko Start Pin 12 (PA6) -> Tlačítko A Pin 11 (PA7) -> Tlačítko B Pin 6 (GND) -> I2C konektor pin samec pin 4 Pin 5 (Vcc) -> I2C kolíkový konektor 3 zástrčky 3 (SCL) -> I2C konektor zástrčky 1 kolíku 1 (SDA) -> konektor I2C zástrčky 2

Krok 19: Montáž Část 2

Image
Image
Volitelné: Audio Breakout Piny
Volitelné: Audio Breakout Piny

Podle pokynů k videu nainstalujte kryt a gamepad I2C na hlavní tělo.

Krok 20: Volitelné: Audio Breakout Piny

Image
Image
Volitelné: Audio Breakout piny
Volitelné: Audio Breakout piny

Deska 25 a 26 pro desku ESP32 pro výstup analogového zvukového signálu, je velmi snadné rozbít tyto 2 piny a také napájecí piny (3,3 V a GND) nahoře. Poté můžete připojit zástrčku sluchátka. Nebo dokonce můžete přidat modul zesilovače zvuku s reproduktorem a hrát jej nahlas.

Krok 21: Co bude dál?

Co bude dál?
Co bude dál?

Emulátor NES není jedinou zajímavou věcí, kterou můžete s ESP32 vytvořit. Např. můžete s ním postavit konzolu micro python. Jedinou komponentou, kterou musíte změnit, je gamepad I2C na klávesnici I2C. Myslím, že to není tak obtížné vyrobit pomocí ovladače ATtiny88. Stav můžete sledovat na mém twitteru.

Doporučuje: