
Kazalo:
- 1. korak: Priprava strojne opreme
- 2. korak: Priprava programske opreme
- 3. korak: 3D tiskanje
- 4. korak: Podpora za LCD
- 5. korak: Pripravite PETG ploščo
- 6. korak: Popravite ploščo za razvijalce ESP32
- Korak 7: Popravite Lipo baterijo
- 8. korak: Priključite baterijo in razvojno ploščo
- 9. korak: Pripravite prikazovalne zatiče
- 10. korak: Priključite zatiče GND
- 11. korak: Povežite Vcc zatiče
- 12. korak: Povežite podporo za LCD in razvojno ploščo
- Korak: Priključite zatiče SPI
- 14. korak: Flash program
- Korak 15: Priključek I2C
- Korak 16: Montaža 1. del
- Korak 17: Prototip I2C igralne plošče
- 18. korak: Zgradite igralno ploščo I2C
- 19. korak: Montaža 2. del
- 20. korak: Izbirno: zatiči za zvok
- 21. korak: Kaj sledi?
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08



Ta navodila kažejo, kako uporabiti ESP32 in ATtiny861 za izdelavo igralne konzole za emulator NES.
1. korak: Priprava strojne opreme


Razvojna plošča ESP32
Tokrat uporabljam razvojno ploščo TTGO T8 ESP32. Ta plošča ima vgrajeno polnilno in regulacijsko vezje Lipo, kar lahko pomaga zmanjšati dodatne komponente.
Zaslon
Tokrat uporabljam 2,4 -palčni IPS LCD. Gonilniški krmilnik je ST7789V, ločljivost pa 320 x 240. Ta ločljivost najbolje ustreza ločljivosti 252 x 224 emulatorja NES.
Baterija
Tokrat uporabljam Lipo baterijo 454261. Debelina plošče ESP32 dev je 4,5 mm, širina plošče pa 61 mm.
Pin Header
4 -pinski moški okrogli zatič za glavo in 4 zatiči ženski okrogli zatič za priključitev igralne plošče I2C.
PETG plošča
Majhna PET/PETG plošča za podporo deske za razvoj in Lipo baterije, jo lahko preprosto najdete v embalaži izdelka.
Večnamensko tiskano vezje
Potrebna sta 2 tiskana vezja, 1 0,4 mm debela za podporo zaslona, 1 1,2 mm debela za igralno ploščo I2C.
Gumbi
Gumb za 5 smeri, 2 majhna gumba za izbiro in zagon ter 2 za gumba A in B.
Krmilnik igralne plošče I2C
Tokrat kot krmilnik igralne plošče I2C uporabljam mikrokrmilnik ATtiny861.
Drugi
1 upor SMD 12 Ohm, programer ISP (npr. TinyISP)
2. korak: Priprava programske opreme



Arduino IDE
Prenesite in namestite Arduino IDE, če še ne:
Podpora za ATTinyCore
Če še niste dodali podpore za ATTinyCore, sledite korakom za namestitev:
ESP-IDF
Sledite priročniku za začetek ESP-IDF za nastavitev razvojnega okolja, če še ne:
3. korak: 3D tiskanje

Prenesite in natisnite etui:
4. korak: Podpora za LCD


Izrežite 24 x 27 lukenj 0,4 mm PCB za podporo LCD. Ne pozabite rezervirati nekaj prostora za zlaganje LCD FPC. Nato z dvojnim stranskim lepilnim trakom pritrdite LCD na tiskano vezje.
5. korak: Pripravite PETG ploščo


Izrežite PETG ploščo 62 mm x 69 mm za ploščo za razvijalce in nosilec Lipo baterije.
6. korak: Popravite ploščo za razvijalce ESP32

Z dvostranskim lepilnim trakom pritrdite dev ploščo na ploščo PETG.
Korak 7: Popravite Lipo baterijo

Za pritrditev Lipo baterije poleg dev plošče uporabite dvostranski lepilni trak.
8. korak: Priključite baterijo in razvojno ploščo

9. korak: Pripravite prikazovalne zatiče

LCD zasloni imajo veliko različic od različnih prodajalcev. Pridobite pravilen podatkovni list in ga preberite pred kakršnim koli popravkom in povezavo.
Nekateri zatiči so rezervirani za ploščo na dotik. Ker ta LCD nima plošče na dotik, lahko preprosto izrežete te zatiče, da zmanjšate motnje.
10. korak: Priključite zatiče GND


V večini primerov je za priključitev na GND potrebno le nekaj zatičev. Za zmanjšanje napora pri spajkanju sem izrezal bakreni trak, da sem dosegel vse zatiče GND, in nato popolnoma spajkal.
11. korak: Povežite Vcc zatiče

Za priključitev na Vcc sta potrebna 2 zatiča, napajanje LCD in napajanje LED. Po podatkovnem listu se lahko napajanje LCD -ja neposredno poveže z razvijalno ploščo 3,3 V pin, vendar moč LED deluje nekoliko nižje od 3,3 V. Zato je bolje, da na sredini dodate upor SMD, npr. 12 ohmski upor.
12. korak: Povežite podporo za LCD in razvojno ploščo

skupaj uporabite podporo za LCD -trak in podporo za razvojno ploščo. Obe podpori morata rezervirati približno 5 mm vrzeli za zlaganje.
Korak: Priključite zatiče SPI

Tu je povzetek povezave:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> ni povezan Vcc -> 3,3 V LED+ -> 12 Ohm upor -> 3,3 V LED - -> GND
14. korak: Flash program




- Prenesite izvorno kodo na GitHub:
- V mapi z izvorno kodo zaženite "make menuconfig"
- Izberite "Konfiguracija, specifična za Nofrendo ESP32"
- Izberite "Strojna oprema za izvajanje" -> "Strojna oprema po meri"
- Izberite "LCD tip" -> "ST7789V LCD"
- Nastavitve zatiča za polnjenje: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Osvetlitev ozadja -> -1, IPS -> Y
- Zaprite in shranite
- Zaženite "make -j5 flash"
- Zaženi "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Korak 15: Priključek I2C



Če razbijete zatiče I2C, so privzeti zatiči I2C ESP32:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (brez napajanja 5 V, medtem ko ga napaja Lipo baterija) Pin 4 (GND) -> GND
Korak 16: Montaža 1. del


Sledite video korakom, da zložite in stisnete vse dele v ohišje.
Korak 17: Prototip I2C igralne plošče


Program za igralno ploščo I2C je zelo preprost, le 15 vrstic kode. Toda ATtiny861 je po spajkanju nekoliko težko reprogramirati, zato ga je bolje najprej preizkusiti na plošči.
Prenesite, prevedite in prenesite program z GitHub -a:
18. korak: Zgradite igralno ploščo I2C



Tu je povzetek povezave:
Gumb ATtiny861
GND -> Vsi gumbi en pin Pin 20 (PA0) -> Gumb gor Pin 19 (PA1) -> Gumb navzdol Pin 18 (PA2) -> Levi gumb Pin 17 (PA3) -> Desni gumb Pin 14 (PA4) -> Izberite gumb Pin 13 (PA5) -> Gumb Start Pin 12 (PA6) -> A gumb Pin 11 (PA7) -> gumb B Pin 6 (GND) -> I2C moški zatič zatiča 4 Pin 5 (Vcc) -> I2C moški pin pin pin 3 Pin 3 (SCL) -> I2C moški pin pin pin 1 Pin 1 (SDA) -> I2C moški pin pin header 2
19. korak: Montaža 2. del



Sledite video korakom, da namestite pokrov in igralno ploščo I2C na glavno ohišje.
20. korak: Izbirno: zatiči za zvok



ESP32 dev plošča Pin 25 in 26 oddaja analogni zvočni signal, zelo enostavno je prekiniti ti 2 nožici in tudi napajalne nožice (3,3 V in GND) na vrhu. Nato lahko priključite slušalko, da jo priključite. Ali pa lahko dodate zvočni ojačevalni modul z zvočnikom, da ga predvajate glasno.
21. korak: Kaj sledi?

NES emulator ni edina zanimiva stvar, ki jo lahko naredite z ESP32. Npr. z njim lahko sestavite konzolo micro python. Edino komponento, ki jo morate spremeniti, je iz igralne plošče I2C na tipkovnico I2C. Mislim, da z krmilnikom ATtiny88 ni tako težko. Stanje lahko spremljate na mojem twitterju.
Priporočena:
Ročna igralna konzola DIY z uporabo RetroPie: 7 korakov

Ročna igralna konzola DIY z uporabo RetroPie: Oglejte si zgornji video, če želite bolje razumeti ta projekt. V redu. Čas je, da začnete! Najprej bomo uporabili RetroPie. To nam daje dve možnosti. Če smo Raspbian že namestili na kartico SD, lahko namestimo RetroP
Ročna igralna konzola Raspberry Pi Zero DIY: 6 korakov (s slikami)

Ročna igralna konzola Raspberry Pi Zero DIY: V tem projektu vam bom pokazal, kako sem uporabil Raspberry Pi Zero, NiMH baterije, domače zaščitno vezje za prekomerno praznjenje, LCD za vzvratno vožnjo in avdio ojačevalnik za ustvarjanje ročne igralne konzole, ki lahko predvaja retro igre. Začnimo
Ročna ročna roka MeArm V0.4: 20 korakov (s slikami)

Roka za žepno roko MeArm V0.4: MeArm je ročna roka za žep. Gre za projekt, ki se je začel februarja 2014 in je imel zaradi odprtega razvoja kot projekta odprte strojne opreme fantastično hitro pot do sedanjega stanja. Različica 0.3 je bila predstavljena na strani Instructables
Ročna igralna konzola - Arduboy Clone: 6 korakov (s slikami)

Ročna igralna konzola | Arduboy Clone: Pred nekaj meseci sem naletel na Arduboy, ki je po uradni spletni strani miniaturna 8-bitna igralna platforma, ki olajša učenje, deljenje in igranje iger na spletu. Je odprtokodna platforma. Igre za Arduboy izdeluje uporabnik
Ročna igralna konzola Recalbox z uporabo 2.2 TFT: 6 korakov

Ročna igralna konzola Recalbox z uporabo 2.2 TFT: Navodila za DIY ročne vmesne igralne konzole z uporabo 2,2 -palčnega TFT LCD -ja in gumbov Raspberry Pi 0 W in GPIO. Ta videoposnetek na YouTubu si lahko ogledate za popoln prikaz korakov: A. Pridobite vse dele.B. Spajate dele skupaj