Sadržaj:
- Korak 1: Priprema hardvera
- Korak 2: Priprema softvera
- Korak 3: 3D ispis
- Korak 4: LCD podrška
- Korak 5: Pripremite PETG ploču
- Korak 6: Popravite ESP32 ploču za razvoj
- Korak 7: Popravite Lipo bateriju
- Korak 8: Povežite bateriju i razvojnu ploču
- Korak 9: Pripremite igle za prikaz
- Korak 10: Spojite GND pinove
- Korak 11: Spojite Vcc pinove
- Korak 12: Povežite podršku za LCD i razvojnu ploču
- Korak 13: Spojite SPI pinove
- Korak 14: Flash program
- Korak 15: I2C priključak
- Korak 16: Montaža 1. dio
- Korak 17: Prototip I2C gamepada
- Korak 18: Izgradite I2C gamepad
- Korak 19: Montaža 2. dio
- Korak 20: Izborno: Igla za prekid zvuka
- Korak 21: Što je sljedeće?
Video: ESP32 ručna igraća konzola: 21 korak (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Ove upute pokazuju kako koristiti ESP32 i ATtiny861 za izgradnju NES emulacijske igraće konzole.
Korak 1: Priprema hardvera
ESP32 ploča za razvoj
Ovaj put koristim razvojnu ploču TTGO T8 ESP32. Ova ploča ima ugrađen Lipo krug za punjenje i regulaciju, što može pomoći u smanjenju dodatnih komponenti.
Prikaz
Ovaj put koristim 2,4 -inčni IPS LCD. Upravljački program je ST7789V, a rezolucija je 320 x 240. Ova rezolucija najbolje odgovara NES emulatoru rezolucije 252 x 224.
Baterija
Ovaj put koristim Lipo bateriju 454261. Debljina ploče ESP32 dev je 4,5 mm, a širina ploče 61 mm.
Zaglavlje pribadače
4 -pinski muški okrugli pin zaglavlje i 4 -pinski ženski okrugli pin zaglavlje za povezivanje I2C gamepada.
PETG ploča
Mala PET/PETG ploča za podupiranje ploče za razvoj i Lipo baterije, lako je možete pronaći u pakiranju proizvoda.
Višenamjenska PCB
Potrebna su 2 PCB -a, 1,4 mm debljine za podršku zaslona, 1 1,2 mm debljine za I2C gamepad.
Gumbi
Gumb s 5 smjerova, 2 mala gumba za odabir i početak i 2 za tipke A i B.
I2C Gamepad kontroler
Ovaj put koristim ATtiny861 mikrokontroler kao I2C kontroler gamepada.
Drugi
1 SMD otpornik od 12 ohma, ISP programer (npr. TinyISP)
Korak 2: Priprema softvera
Arduino IDE
Preuzmite i instalirajte Arduino IDE ako još niste:
ATTinyCore podrška
Slijedite korake za instalaciju da biste dodali podršku za ATTinyCore ako još nije dostupna:
ESP-IDF
Slijedite vodič za početak rada ESP-IDF-a za postavljanje razvojnog okruženja ako još nije:
Korak 3: 3D ispis
Preuzmite i ispišite kućište:
Korak 4: LCD podrška
Izrežite 24 x 27 rupa 0,4 mm PCB za LCD podršku. Upamtite, rezervirajte malo prostora za preklapanje LCD FPC -a. Zatim upotrijebite dvostranu ljepljivu traku koja fiksira LCD na PCB -u.
Korak 5: Pripremite PETG ploču
Izrežite PETG ploču 62 mm x 69 mm za razvojnu ploču i nosač Lipo baterije.
Korak 6: Popravite ESP32 ploču za razvoj
Dvostranom ljepljivom trakom pričvrstite ploču za razvoj na PETG ploču.
Korak 7: Popravite Lipo bateriju
Upotrijebite dvostranu ljepljivu traku za pričvršćivanje Lipo baterije osim ploče za razvoj.
Korak 8: Povežite bateriju i razvojnu ploču
Korak 9: Pripremite igle za prikaz
LCD zasloni imaju mnogo varijacija različitih proizvođača. Nabavite ispravan podatkovni list i pročitajte ga prije bilo kakvog zakrpa i povezivanja.
Neki pinovi rezervirani su za dodirnu ploču. Budući da ovaj LCD nema dodirnu ploču, jednostavno izrežite te igle kako biste smanjili smetnje.
Korak 10: Spojite GND pinove
U većini slučajeva postoji nekoliko pinova koji zahtijevaju spajanje na GND. Kako bih smanjio napor lemljenja, izrezao sam oblik bakrene trake kako bih dosegao sve GND igle, a zatim potpuno lemio.
Korak 11: Spojite Vcc pinove
Potrebna su 2 pina za spajanje na Vcc, napajanje LCD -a i LED napajanje. Prema podacima, napajanje LCD -a može se izravno spojiti na utičnicu od 3,3 V, ali LED napajanje radi malo niže od 3,3 V. Zato je bolje dodati SMD otpornik u sredinu, npr. Otpor 12 Ohma.
Korak 12: Povežite podršku za LCD i razvojnu ploču
koristite LCD podršku za traku za spajanje i podršku za razvojnu ploču zajedno. Obje potpore trebale bi ostaviti razmak od oko 5 mm za preklapanje.
Korak 13: Spojite SPI pinove
Evo sažetka veze:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nije spojen Vcc -> 3,3 V LED+ -> 12 Ohm otpornik -> 3,3 V LED - -> GND
Korak 14: Flash program
- Preuzmite izvorni kod na GitHub-u:
- Pod mapom izvornog koda pokrenite "make menuconfig"
- Odaberite "Konfiguracija specifična za Nofrendo ESP32"
- Odaberite "Hardver za rad" -> "Prilagođeni hardver"
- Odaberite "LCD tip" -> "ST7789V LCD"
- Postavke pina za ispunu: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Pozadinsko osvjetljenje -> -1, IPS -> Y
- Izađite i spremite
- Pokrenite "make -j5 flash"
- Pokreni "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Korak 15: I2C priključak
Ako probijete I2C pinove, ESP32 zadane I2C pinovi su:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (nema napajanja od 5 V dok se napaja Lipo baterijom) Pin 4 (GND) -> GND
Korak 16: Montaža 1. dio
Slijedite video korake za presavijanje i istiskivanje svih dijelova u kućište.
Korak 17: Prototip I2C gamepada
Program za I2C Gamepad vrlo je jednostavan, samo 15 redaka koda. No, malo je teško reprogramirati ATtiny861 nakon lemljenja, pa je bolje prvo ga testirati na ploči.
Preuzmite, kompajlirajte i fleširajte program s GitHub -a:
Korak 18: Izgradite I2C gamepad
Evo sažetka veze:
Gumb ATtiny861
GND -> Svi gumbi jedan pin Pin 20 (PA0) -> Gornja tipka Pin 19 (PA1) -> Dolje tipka Pin 18 (PA2) -> Lijeva tipka Pin 17 (PA3) -> Desna tipka Pin 14 (PA4) -> Odaberite gumb Pin 13 (PA5) -> Tipka Start Pin 12 (PA6) -> A gumb Pin 11 (PA7) -> tipka B Pin 6 (GND) -> I2C muški pin pin 4 Pin 5 (Vcc) -> I2C muški pin zaglavlje pin 3 Pin 3 (SCL) -> I2C muški pin pin zaglavlja 1 Pin 1 (SDA) -> I2C muški pin pin zaglavlja 2
Korak 19: Montaža 2. dio
Slijedite video korake za postavljanje poklopca i I2C gamepada na glavno tijelo.
Korak 20: Izborno: Igla za prekid zvuka
ESP32 dev ploča Pin 25 i 26 emitira analogni audio signal, vrlo je lako probiti ove 2 pinove, a također i pinove za napajanje (3,3 V i GND) na vrhu. Zatim možete zakrpati slušalice da biste ih priključili. Ili čak možete dodati modul audio pojačala sa zvučnikom za glasno sviranje.
Korak 21: Što je sljedeće?
NES emulator nije jedino zanimljivo što možete napraviti s ESP32. Npr. s njom možete izgraditi mikro python konzolu. Jedina komponenta koju trebate promijeniti je s I2C gamepada na I2C tipkovnicu. Mislim da to nije tako teško napraviti s ATtiny88 kontrolerom. Možete pratiti moj twitter da vidite status.
Preporučeni:
DIY ručna igraća konzola pomoću RetroPie: 7 koraka
DIY ručna igraća konzola pomoću RetroPie: Pogledajte gornji video da biste bolje razumjeli ovaj projekt. Fino. Vrijeme je za početak! Prije svega, mi ćemo koristiti RetroPie. To nam ostavlja dvije mogućnosti. Ako smo već instalirali Raspbian na SD karticu, tada možemo instalirati RetroP
GamePi - ručna konzola emulatora: 17 koraka (sa slikama)
GamePi - ručna konzola emulatora: Uvod: Ova uputa opisuje izradu ručne konzole za emulaciju s Raspberry Pi 3 pogonom - krstila sam je GamePi. Postoji mnogo sličnih uputstava za takve uređaje, ali za moj ukus većina ih je ili prevelika, premala
Ručna igraća konzola - Arduboy Clone: 6 koraka (sa slikama)
Ručna igraća konzola | Arduboy Clone: Prije nekoliko mjeseci naišao sam na Arduboy koji je prema službenoj web stranici minijaturna 8-bitna platforma za igre koja olakšava učenje, dijeljenje i igranje igara na mreži. To je platforma otvorenog koda. Igre za Arduboy je napravio korisnik
Ručna igraća konzola Recalbox koja koristi 2.2 TFT: 6 koraka
Ručna igraća konzola Recalbox pomoću 2.2 TFT -a: Upute za DIY ručne upravljačke igraće konzole za prijenosnu poštu koja koristi 2.2 “TFT LCD i Raspberry Pi 0 W i GPIO gumbe. Ovaj YouTube videozapis možete pogledati za potpunu demonstraciju koraka koji su uključeni: A. Nabavite sve dijelove.B. Spajati dijelove zajedno
Domaća ručna konzola: 12 koraka (sa slikama)
Domaća ručna konzola: Dobro došli u moj korak po korak vodič o tome kako stvoriti vlastiti DIY GameBoy s Raspberry Pi 3 i softverom za emulaciju Retropie.Prije početka ovog projekta nisam imao iskustva s malinom pi, retropijom, lemljenjem, 3D ispisom ili električar