Spisu treści:
- Krok 1: Przygotowanie sprzętu
- Krok 2: Przygotowanie oprogramowania
- Krok 3: Drukowanie 3D
- Krok 4: Obsługa LCD
- Krok 5: Przygotuj płytkę PETG
- Krok 6: Napraw płytę rozwojową ESP32
- Krok 7: Napraw baterię Lipo
- Krok 8: Podłącz baterię i płytkę rozwojową
- Krok 9: Przygotuj szpilki wyświetlacza
- Krok 10: Podłącz piny GND
- Krok 11: Podłącz piny Vcc
- Krok 12: Podłącz obsługę wyświetlacza LCD i płyty rozwojowej
- Krok 13: Podłącz piny SPI
- Krok 14: Program Flash
- Krok 15: Złącze I2C
- Krok 16: Montaż Część 1
- Krok 17: Prototypowy gamepad I2C
- Krok 18: Zbuduj gamepad I2C
- Krok 19: Montaż Część 2
- Krok 20: Opcjonalnie: piny przerwania dźwięku
- Krok 21: Co dalej?
Wideo: Przenośna konsola do gier ESP32: 21 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Ta instrukcja pokazuje, jak używać ESP32 i ATtiny861 do zbudowania konsoli do gier z emulatorem NES.
Krok 1: 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
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
Pobierz i wydrukuj etui:
Krok 4: 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
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
Użyj dwustronnej taśmy samoprzylepnej, aby przymocować płytę dev na płycie PETG.
Krok 7: 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ą
Krok 9: Przygotuj szpilki wyświetlacza
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
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
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
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
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
- Pobierz kod źródłowy na GitHub:
- W folderze kodu źródłowego uruchom "make menuconfig"
- Wybierz „Konfiguracja specyficzna dla Nofrendo ESP32”
- Wybierz „Sprzęt do uruchomienia” -> „Niestandardowy sprzęt”
- Wybierz „Typ LCD” -> „ST7789V LCD”
- Ustawienia pinów wypełniających: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Podświetlenie -> -1, IPS -> Y
- Wyjdź i zapisz
- Uruchom "make -j5 flash"
- Uruchom „sh flashrom.sh PATH_TO_YOUR_ROM_FILE”
Krok 15: 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
Postępuj zgodnie z instrukcjami wideo, aby złożyć i wcisnąć wszystkie części do etui.
Krok 17: 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
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
Postępuj zgodnie z instrukcjami wideo, aby zainstalować obudowę i gamepad I2C na korpusie głównym.
Krok 20: Opcjonalnie: piny przerwania dźwięku
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?
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:
Przenośna konsola do gier Lego z Space Invaders: 4 kroki
Przenośna konsola do gier Lego z Space Invaders: Czy kiedykolwiek myślałeś o byciu twórcą gier i zbudowaniu własnej konsoli do gier, w którą możesz grać w podróży? Wystarczy trochę czasu, sprzętLego bricksa Mini-Calliope (można zamówić na tej stronie https://calliope.cc/en) i trochę umiejętności
Przenośna konsola do gier DIY za pomocą RetroPie: 7 kroków
Przenośna konsola do gier DIY za pomocą RetroPie: Obejrzyj powyższy film, aby lepiej zrozumieć ten projekt. W porządku. Czas zacząć! Przede wszystkim użyjemy RetroPie. To pozostawia nam dwie opcje. Jeśli już zainstalowaliśmy Raspbian na naszej karcie SD, możemy zainstalować RetroP
Przenośna konsola do gier DIY Raspberry Pi Zero: 6 kroków (ze zdjęciami)
Przenośna konsola do gier DIY Raspberry Pi Zero: W tym projekcie pokażę, jak użyłem Raspberry Pi Zero, akumulatorów NiMH, domowego obwodu zabezpieczającego przed nadmiernym rozładowaniem, tylnego wyświetlacza LCD i wzmacniacza audio, aby stworzyć przenośną konsolę do gier, która może grać gry retro. Zacznijmy
Przenośna konsola do gier - Klon Arduboy: 6 kroków (ze zdjęciami)
Przenośna konsola do gier | Arduboy Clone: Kilka miesięcy temu natknąłem się na Arduboy, który według oficjalnej strony internetowej jest miniaturową 8-bitową platformą gier, która ułatwia naukę, udostępnianie i granie w gry online. Jest to platforma open source. Gry na Arduboy są tworzone przez użytkownika
Przenośna konsola do gier Recalbox przy użyciu 2.2 TFT: 6 kroków
Przenośna konsola do gier Recalbox wykorzystująca 2.2 TFT: Instrukcje dotyczące samodzielnego wykonania ręcznej konsoli do gier Recalbox z wyświetlaczem LCD 2.2" TFT oraz przyciskami Raspberry Pi 0 W i GPIO. Zdobądź wszystkie części.B. Zlutuj części razem