Spisu treści:

Przenośna konsola do gier ESP32: 21 kroków (ze zdjęciami)
Przenośna konsola do gier ESP32: 21 kroków (ze zdjęciami)

Wideo: Przenośna konsola do gier ESP32: 21 kroków (ze zdjęciami)

Wideo: Przenośna konsola do gier ESP32: 21 kroków (ze zdjęciami)
Wideo: Testuje NIESAMOWITE KONSOLE DO GIER Z CHIN! *podróba PSP* 2024, Listopad
Anonim
Image
Image
Przygotowanie sprzętu
Przygotowanie sprzętu

Ta instrukcja pokazuje, jak używać ESP32 i ATtiny861 do zbudowania konsoli do gier z emulatorem NES.

Krok 1: Przygotowanie sprzętu

Przygotowanie sprzętu
Przygotowanie sprzętu
Przygotowanie sprzętu
Przygotowanie sprzętu

Płytka rozwojowa ESP32

Tym razem korzystam z płytki deweloperskiej TTGO T8 ESP32. Ta płyta ma wbudowany obwód ładowania i regulacji Lipo, może pomóc zredukować dodatkowe komponenty.

Wyświetlacz

Tym razem używam 2,4 IPS LCD. Sterownik sterownika to ST7789V, a rozdzielczość to 320 x 240. Ta rozdzielczość najlepiej pasuje do rozdzielczości 252 x 224 emulatora NES.

Bateria

Tym razem używam baterii Lipo 454261. 4,5 mm to grubość płyty deweloperskiej ESP32, a 61 mm to szerokość płyty.

Pin nagłówek

4-stykowa męska okrągła listwa stykowa i 4-stykowa żeńska okrągła listwa stykowa do podłączenia gamepada I2C.

Płyta PETG

Mała płytka PET/PETG do podtrzymywania płyty deweloperskiej i baterii Lipo, można ją łatwo znaleźć w opakowaniu produktu.

Wielofunkcyjna płytka drukowana

Wymagane 2 płytki PCB, 1 0,4 mm grubości do obsługi wyświetlacza, 1 1,2 mm grubości do gamepada I2C.

guziki

A 5 przycisków kierunkowych, 2 małe przyciski dla Wybierz i Start oraz 2 dla przycisku A i B.

Kontroler do gier I2C

Tym razem używam mikrokontrolera ATtiny861 jako kontrolera gamepada I2C.

Inni

1 rezystor SMD 12 Ohm, programator ISP (np. TinyISP)

Krok 2: Przygotowanie oprogramowania

Przygotowanie oprogramowania
Przygotowanie oprogramowania
Przygotowanie oprogramowania
Przygotowanie oprogramowania
Przygotowanie oprogramowania
Przygotowanie oprogramowania

IDE Arduino

Pobierz i zainstaluj Arduino IDE, jeśli jeszcze nie:

Wsparcie ATTinyCore

Postępuj zgodnie z instrukcjami instalacji, aby dodać obsługę ATTinyCore, jeśli jeszcze nie:

ESP-IDF

Postępuj zgodnie z przewodnikiem wprowadzającym ESP-IDF, aby skonfigurować środowisko programistyczne, jeśli jeszcze nie jest:

Krok 3: Drukowanie 3D

drukowanie 3d
drukowanie 3d

Pobierz i wydrukuj etui:

Krok 4: Obsługa LCD

Obsługa LCD
Obsługa LCD
Obsługa LCD
Obsługa LCD

Wytnij płytkę drukowaną 24 x 27 otworów 0,4 mm do podparcia LCD. Pamiętaj o zarezerwowaniu miejsca na składanie LCD FPC. Następnie użyj dwustronnej taśmy samoprzylepnej, aby przymocować wyświetlacz LCD do płytki drukowanej.

Krok 5: Przygotuj płytkę PETG

Przygotuj płytkę PETG
Przygotuj płytkę PETG
Przygotuj płytkę PETG
Przygotuj płytkę PETG

Wytnij płytkę PETG o wymiarach 62 mm x 69 mm na płytę deweloperską i wspornik baterii Lipo.

Krok 6: Napraw płytę rozwojową ESP32

Napraw płytę deweloperską ESP32
Napraw płytę deweloperską ESP32

Użyj dwustronnej taśmy samoprzylepnej, aby przymocować płytę dev na płycie PETG.

Krok 7: Napraw baterię Lipo

Napraw baterię Lipo
Napraw baterię Lipo

Użyj dwustronnej taśmy samoprzylepnej, aby przymocować baterię Lipo poza płytą deweloperską.

Krok 8: Podłącz baterię i płytkę rozwojową

Podłącz baterię i płytkę rozwojową
Podłącz baterię i płytkę rozwojową

Krok 9: Przygotuj szpilki wyświetlacza

Przygotuj szpilki do wyświetlania
Przygotuj szpilki do wyświetlania

Wyświetlacz LCD ma wiele odmian od różnych dostawców. Proszę uzyskać poprawny arkusz danych i przeczytać go przed wprowadzeniem poprawek i podłączeniem.

Niektóre piny są zarezerwowane dla panelu dotykowego. Ponieważ ten wyświetlacz LCD nie ma panelu dotykowego, wystarczy wyciąć te szpilki, aby zmniejszyć zakłócenia.

Krok 10: Podłącz piny GND

Podłącz piny GND
Podłącz piny GND
Podłącz piny GND
Podłącz piny GND

W większości przypadków jest kilka pinów wymagających podłączenia do GND. Aby zmniejszyć wysiłek lutowania, wycinam kształt taśmy miedzianej, aby dotrzeć do wszystkich pinów GND, a następnie lutuję w całości.

Krok 11: Podłącz piny Vcc

Podłącz szpilki Vcc
Podłącz szpilki Vcc

Wymagane są 2 piny do podłączenia Vcc, zasilania LCD i zasilania LED. Zgodnie z kartą katalogową zasilanie LCD można bezpośrednio podłączyć do płytki dev 3,3 V, ale zasilanie LED działa nieco mniej niż 3,3 V. Lepiej więc dodać rezystor SMD pośrodku, np. Rezystor 12 omów.

Krok 12: Podłącz obsługę wyświetlacza LCD i płyty rozwojowej

Podłącz obsługę LCD i płyt rozwojowych
Podłącz obsługę LCD i płyt rozwojowych

Użyj taśmy, aby połączyć obsługę LCD i obsługę płyty dev. Obie podpory powinny mieć około 5 mm szczeliny na złożenie.

Krok 13: Podłącz piny SPI

Podłącz piny SPI
Podłącz piny SPI

Oto podsumowanie połączenia:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> niepodłączony Vcc -> 3,3 V LED+ -> Rezystor 12 Ohm -> 3,3 V LED - -> GND

Krok 14: Program Flash

Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
  1. Pobierz kod źródłowy na GitHub:
  2. W folderze kodu źródłowego uruchom "make menuconfig"
  3. Wybierz „Konfiguracja specyficzna dla Nofrendo ESP32”
  4. Wybierz „Sprzęt do uruchomienia” -> „Niestandardowy sprzęt”
  5. Wybierz „Typ LCD” -> „ST7789V LCD”
  6. Ustawienia pinów wypełniających: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Podświetlenie -> -1, IPS -> Y
  7. Wyjdź i zapisz
  8. Uruchom "make -j5 flash"
  9. Uruchom „sh flashrom.sh PATH_TO_YOUR_ROM_FILE”

Krok 15: Złącze I2C

Złącze I2C
Złącze I2C
Złącze I2C
Złącze I2C
Złącze I2C
Złącze I2C

Wyłam piny I2C, domyślne piny I2C ESP32 to:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (brak zasilania 5 V przy zasilaniu z baterii Lipo) Pin 4 (GND) -> GND

Krok 16: Montaż Część 1

Image
Image

Postępuj zgodnie z instrukcjami wideo, aby złożyć i wcisnąć wszystkie części do etui.

Krok 17: Prototypowy gamepad I2C

Prototypowy gamepad I2C
Prototypowy gamepad I2C
Prototypowy gamepad I2C
Prototypowy gamepad I2C

Program dla Gamepada I2C jest bardzo prosty, tylko 15 linijek kodu. Ale trochę trudno jest przeprogramować ATtiny861 po lutowaniu, więc lepiej najpierw przetestować go na płytce stykowej.

Pobierz, skompiluj i sflashuj program z GitHub:

Krok 18: Zbuduj gamepad I2C

Zbuduj gamepada I2C
Zbuduj gamepada I2C
Zbuduj gamepada I2C
Zbuduj gamepada I2C
Zbuduj gamepada I2C
Zbuduj gamepada I2C

Oto podsumowanie połączenia:

Przycisk ATtiny861

GND -> Wszystkie przyciski jeden pin Pin 20 (PA0) -> Przycisk Góra Pin 19 (PA1) -> Przycisk Dół Pin 18 (PA2) -> Lewy przycisk Pin 17 (PA3) -> Prawy przycisk Pin 14 (PA4) -> Przycisk wyboru Pin 13 (PA5) -> Przycisk Start Pin 12 (PA6) -> Przycisk A Pin 11 (PA7) -> Przycisk B Pin 6 (GND) -> I2C męska listwa pinowa pin 4 Pin 5 (Vcc) -> I2C pin 3 męskiej listwy pinowej Pin 3 (SCL) -> I2C męskiej listwy pinowej pin 1 Pin 1 (SDA) -> I2C męskiej listwy pinowej pin 2

Krok 19: Montaż Część 2

Image
Image
Opcjonalnie: szpilki audio Breakout
Opcjonalnie: szpilki audio Breakout

Postępuj zgodnie z instrukcjami wideo, aby zainstalować obudowę i gamepad I2C na korpusie głównym.

Krok 20: Opcjonalnie: piny przerwania dźwięku

Image
Image
Opcjonalnie: szpilki audio Breakout
Opcjonalnie: szpilki audio Breakout

Płytka rozwojowa ESP32 Pin 25 i 26 wyprowadza analogowy sygnał audio, bardzo łatwo jest wyłamać te 2 piny, a także piny zasilania (3,3 V i GND) na górze. Następnie możesz podłączyć słuchawki, aby je podłączyć. Lub nawet możesz dodać moduł wzmacniacza audio z głośnikiem, aby odtwarzać go głośno.

Krok 21: Co dalej?

Co dalej?
Co dalej?

Emulator NES to nie jedyna ciekawa rzecz, jaką możesz zrobić z ESP32. Np. możesz za jego pomocą zbudować konsolę micro python. Jedynym komponentem, który musisz zmienić, jest gamepad I2C na klawiaturę I2C. Myślę, że nie jest tak trudno zrobić to z kontrolerem ATtiny88. Możesz śledzić mój twitter, aby zobaczyć status.

Zalecana: