Tartalomjegyzék:

ESP32 kézi játékkonzol: 21 lépés (képekkel)
ESP32 kézi játékkonzol: 21 lépés (képekkel)

Videó: ESP32 kézi játékkonzol: 21 lépés (képekkel)

Videó: ESP32 kézi játékkonzol: 21 lépés (képekkel)
Videó: $10 Nintendo NES Teardown. Game Boy console CLONE. Classic Retro Games. Chilled Unboxer. 2024, November
Anonim
Image
Image
Hardver előkészítése
Hardver előkészítése

Ez az oktatóanyag bemutatja, hogyan lehet ESP32 és ATtiny861 segítségével NES emulátor játékkonzolt készíteni.

1. lépés: A hardver előkészítése

Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése

ESP32 Dev Board

Ezúttal egy TTGO T8 ESP32 fejlesztői táblát használok. Ez a tábla beépített Lipo töltő- és szabályozó áramkörrel rendelkezik, ez segíthet az extra alkatrészek csökkentésében.

Kijelző

Ezúttal 2,4 hüvelykes IPS LCD -t használok. A vezérlő ST7789V, felbontása 320 x 240. Ez a felbontás a legalkalmasabb a NES emulátor 252 x 224 felbontásához.

Akkumulátor

Ezúttal egy 454261 Lipo akkumulátort használok. 4,5 mm az ESP32 fejlesztőlap vastagsága, és 61 mm a tábla szélessége.

Pin fejléc

4 tűs, kerek tűs fejfej és 4 tűs, kerek tűs fejfej az I2C gamepad csatlakoztatásához.

PETG lemez

Egy kis PET/PETG lemez a fejlesztői tábla és a Lipo akkumulátor támogatásához, könnyen megtalálható a termék csomagolásában.

Többcélú NYÁK

2 PCB szükséges, 1 0,4 mm vastag a kijelző alátámasztásához, 1 1,2 mm vastag I2C gamepadhez.

Gombok

Egy 5 irányú gomb, 2 kis gomb a Kiválasztás és a Start és 2 az A és B gombok számára.

I2C Gamepad vezérlő

Ezúttal egy ATtiny861 mikrokontrollert használok I2C gamepad vezérlőként.

Mások

1 SMD 12 ohmos ellenállás, ISP programozó (pl. TinyISP)

2. lépés: A szoftver előkészítése

Szoftver előkészítése
Szoftver előkészítése
Szoftver előkészítése
Szoftver előkészítése
Szoftver előkészítése
Szoftver előkészítése

Arduino IDE

Töltse le és telepítse az Arduino IDE -t, ha még nem:

ATTinyCore támogatás

Kövesse a telepítési lépéseket az ATTinyCore támogatás hozzáadásához, ha még nem:

ESP-IDF

Kövesse az ESP-IDF kezdő útmutatóját a fejlesztői környezet beállításához, ha még nem:

3. lépés: 3D nyomtatás

3D nyomtatás
3D nyomtatás

Töltse le és nyomtassa ki a tokot:

4. lépés: LCD támogatás

LCD támogatás
LCD támogatás
LCD támogatás
LCD támogatás

Vágjon egy 24 x 27 lyukú, 0,4 mm -es NYÁK -t az LCD támogatáshoz. Ne feledje, hogy hagyjon némi helyet az LCD FPC összecsukásához. Ezután használjon kétoldalú ragasztószalagot, és rögzítse az LCD -t a NYÁK -ra.

Lépés: Készítse elő a PETG lemezt

Készítse elő a PETG lemezt
Készítse elő a PETG lemezt
Készítse elő a PETG lemezt
Készítse elő a PETG lemezt

Vágjon ki egy 62 mm x 69 mm -es PETG -lemezt a fejlesztői tábla és a Lipo elemtartó számára.

6. lépés: Javítsa ki az ESP32 Dev Board -ot

Javítsa ki az ESP32 fejlesztőtáblát
Javítsa ki az ESP32 fejlesztőtáblát

Kétoldalas ragasztószalaggal rögzítse a fejlesztőtáblát a PETG lemezre.

7. lépés: Javítsa meg a Lipo akkumulátort

Fix Lipo akkumulátor
Fix Lipo akkumulátor

Kétoldalas ragasztószalaggal rögzítse a Lipo akkumulátort a fejlesztői tábla mellett.

8. lépés: Csatlakoztassa az akkumulátort és a fejlesztőkártyát

Csatlakoztassa az akkumulátor és a fejlesztőkártyát
Csatlakoztassa az akkumulátor és a fejlesztőkártyát

9. lépés: Készítse elő a kijelzőtűket

Készítse elő a kijelzőtűket
Készítse elő a kijelzőtűket

Az LCD kijelző sokféle variációt kínál a különböző gyártóktól. Kérjük, szerezze be a megfelelő adatlapot, és olvassa el, mielőtt bármilyen javítást és csatlakozást csatlakoztatna.

Néhány csap érintőpanelre van fenntartva. Mivel ez az LCD nem rendelkezik érintőképernyővel, egyszerűen vágja ki ezeket a csapokat, és csökkenti a zavart.

10. lépés: Csatlakoztassa a GND csapokat

Csatlakoztassa a GND csapokat
Csatlakoztassa a GND csapokat
Csatlakoztassa a GND csapokat
Csatlakoztassa a GND csapokat

A legtöbb esetben kevés csap igényel csatlakozást a GND -hez. A forrasztási erőfeszítések csökkentése érdekében vágtam egy rézszalag formát, hogy elérje az összes GND csapot, majd a forrasztást.

11. lépés: Csatlakoztassa a Vcc csapokat

Csatlakoztassa a Vcc csapokat
Csatlakoztassa a Vcc csapokat

A Vcc -hez való csatlakoztatáshoz 2 tű szükséges, LCD tápellátás és LED tápellátás. Az adatlap szerint az LCD -tápellátás közvetlenül csatlakoztatható a 3,3 V -os tápegységhez, de a LED -es teljesítmény kissé alacsonyabb, mint 3,3 V. 12 Ohm ellenállás.

12. lépés: Csatlakoztassa az LCD és a fejlesztői kártya támogatását

Csatlakoztassa az LCD és a fejlesztőkártya támogatását
Csatlakoztassa az LCD és a fejlesztőkártya támogatását

használjon szalagcsatlakozó LCD -támogatást és a fejlesztőtábla -támogatást. Mindkét tartónak körülbelül 5 mm rést kell hagynia a hajtogatáshoz.

13. lépés: Csatlakoztassa az SPI csapokat

Csatlakoztassa az SPI csapokat
Csatlakoztassa az SPI csapokat

Íme a kapcsolat összefoglalója:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nincs csatlakoztatva Vcc -> 3,3 V LED+ -> 12 ohmos ellenállás -> 3,3 V LED - -> GND

14. lépés: Flash program

Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
  1. Töltse le a forráskódot a GitHub webhelyről:
  2. A forráskód mappában futtassa a "make menuconfig" parancsot
  3. Válassza a "Nofrendo ESP32-specifikus konfiguráció" lehetőséget
  4. Válassza a "Hardver to run on" -> "Custom Hardware" lehetőséget
  5. Válassza az "LCD típus" -> "ST7789V LCD" lehetőséget
  6. Töltőcsap beállítások: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, háttérvilágítás -> -1, IPS -> Y
  7. Kilépés és mentés
  8. Futtassa a "make -j5 flash" parancsot
  9. Futtassa a "sh flashrom.sh PATH_TO_YOUR_ROM_FILE" fájlt

15. lépés: I2C csatlakozó

I2C csatlakozó
I2C csatlakozó
I2C csatlakozó
I2C csatlakozó
I2C csatlakozó
I2C csatlakozó

Az I2C csapok feltörése, az ESP32 alapértelmezett I2C csapok a következők:

1. tű (SCL) -> GPIO 22

2. tüske (SDA) -> GPIO 21 3. tű (Vcc) -> 3.3 V (nincs 5 V -os tápellátás, miközben Lipo akkumulátorról működik) 4. tű (GND) -> GND

16. lépés: Összeszerelés 1. rész

Image
Image

Kövesse a videó lépéseit az összes alkatrész összehajtásához és összenyomásához.

17. lépés: Prototípus I2C Gamepad

Prototípus I2C Gamepad
Prototípus I2C Gamepad
Prototípus I2C Gamepad
Prototípus I2C Gamepad

Az I2C Gamepad programja nagyon egyszerű, mindössze 15 sornyi kódot tartalmaz. De egy kicsit nehéz újraprogramozni az ATtiny861 -et forrasztás után, ezért jobb, ha először a kenyérsütőn teszteli.

Töltse le, fordítsa le és frissítse a programot a GitHub -ról:

18. lépés: Az I2C Gamepad létrehozása

Építsd fel az I2C Gamepad -et
Építsd fel az I2C Gamepad -et
Építsd fel az I2C Gamepad -et
Építsd fel az I2C Gamepad -et
Építsd fel az I2C Gamepad -et
Építsd fel az I2C Gamepad -et

Íme a kapcsolat összefoglalója:

ATtiny861 gomb

GND -> Minden gomb egy érintkező 20 -as érintkező 20 (PA0) -> Fel gomb 19 -es csap (PA1) -> Le gomb 18 -as csap (PA2) -> Bal gomb 17 -es csap (PA3) -> Jobb gomb 14 -es csap (PA4) -> Válassza ki a gombot 13 -as érintkező (PA5) -> Start gomb 12 -es csap (PA6) -> A gomb 11 -es csap (PA7) -> B gomb 6 -os csap (GND) -> I2C dugós hüvelyű fej 4 tű 5 -ös (Vcc) -> I2C dugaszfejű fejléc csap 3 tű 3 (SCL) -> I2C dugós csatlakozófej 1 tüske 1 (SDA) -> I2C dugós hüvely

19. lépés: Összeszerelés 2. rész

Image
Image
Opcionális: Audio Breakout Pins
Opcionális: Audio Breakout Pins

Kövesse a videó lépéseit a burkolat és az I2C gamepad illesztéséhez a törzsre.

20. lépés: Opcionális: Hangtörő csapok

Image
Image
Opcionális: Audio Breakout Pins
Opcionális: Audio Breakout Pins

Az ESP32 fejlesztőtábla 25. és 26. tűje az analóg hangjelet adja ki, nagyon könnyű megszakítani ezt a 2 érintkezőt, valamint a tetején lévő tápcsatlakozókat (3,3 V és GND). Ezután pattintva fülhallgatót csatlakoztathat hozzá. Vagy akár hozzáadhat hangszóróval ellátott erősítő modult a hangos lejátszáshoz.

21. lépés: Mi a következő lépés?

Mi a következő lépés?
Mi a következő lépés?

Nem a NES emulátor az egyetlen érdekes dolog, amit az ESP32 segítségével készíthet. Például. építhetsz vele mikro python konzolt. Az egyetlen összetevő, amelyet módosítania kell, az I2C gamepadről az I2C billentyűzetre. Azt hiszem, nem olyan nehéz elkészíteni ATtiny88 vezérlővel. Ha követed a twitteremet, nézd meg az állapotát.

Ajánlott: