Sisukord:
- Samm: riistvara ettevalmistamine
- 2. samm: tarkvara ettevalmistamine
- Samm: 3D -printimine
- Samm 4: LCD tugi
- Samm: valmistage ette PETG plaat
- Samm: parandage ESP32 arendusplaat
- Samm: parandage Lipo aku
- Samm: ühendage aku ja arendusplaat
- Samm: valmistage ette kuvari tihvtid
- Samm: ühendage GND tihvtid
- Samm: ühendage Vcc -tihvtid
- 12. samm: ühendage LCD- ja arendusplaadi tugi
- Samm: ühendage SPI -tihvtid
- 14. samm: välguprogramm
- Samm: I2C -pistik
- 16. samm: kokkupanek 1. osa
- 17. samm: prototüüp I2C mängupult
- 18. samm: looge I2C mängupult
- 19. samm: kokkupanek 2. osa
- Samm 20: valikuline: helitugevuse tihvtid
- 21. samm: mis saab edasi?
Video: ESP32 käeshoitav mängukonsool: 21 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Need juhendid näitavad, kuidas kasutada ESP32 ja ATtiny861 NES -emulaatori mängukonsooli loomiseks.
Samm: riistvara ettevalmistamine
ESP32 arendusplaat
Seekord kasutan TTGO T8 ESP32 arendusplaati. Sellel plaadil on sisseehitatud Lipo laadimis- ja reguleerimisahel, see aitab vähendada lisakomponente.
Ekraan
Seekord kasutan 2,4 IPS LCD -ekraani. Juhi kontroller on ST7789V ja eraldusvõime 320 x 240. See eraldusvõime sobib kõige paremini NES -emulaatori 252 x 224 eraldusvõimega.
Aku
Seekord kasutan 454261 Lipo akut. 4,5 mm on ESP32 arendusplaadi paksus ja 61 mm on plaadi laius.
Kinnitage päis
4 kontaktiga isane ümmargune tihvti päis ja 4 kontaktiga ümmargune tihvtiga päis I2C mängupuldi ühendamiseks.
PETG plaat
Väike PET/PETG plaat arendusplaadi ja Lipo aku toetamiseks, leiate selle hõlpsalt toote pakendist.
Mitmeotstarbeline trükkplaat
Vajalik on 2 trükkplaati, 1 0,4 mm paksune ekraani toetamiseks, 1 1,2 mm paksune I2C mängupuldi jaoks.
Nupud
5 suunanuppu, 2 väikest nuppu valimiseks ja käivitamiseks ning 2 nuppu A ja B.
I2C mängupuldi kontroller
Seekord kasutan ATtiny861 mikrokontrollerit mängupuldi I2C kontrollerina.
Teised
1 SMD 12 oomi takisti, ISP programmeerija (nt TinyISP)
2. samm: tarkvara ettevalmistamine
Arduino IDE
Laadige alla ja installige Arduino IDE, kui mitte:
ATTinyCore'i tugi
ATTinyCore toe lisamiseks järgige installimise samme, kui veel pole:
ESP-IDF
Arenduskeskkonna seadistamiseks järgige ESP-IDF-i alustamisjuhendit:
Samm: 3D -printimine
Laadige korpus alla ja printige see välja:
Samm 4: LCD tugi
Lõigake 24 x 27 auguga 0,4 mm trükkplaat LCD toe jaoks. Pidage meeles, et reserveerige veidi ruumi LCD FPC voltimiseks. Seejärel kinnitage kahepoolne kleeplint LCD -plaadile.
Samm: valmistage ette PETG plaat
Lõika välja 62 mm x 69 mm PETG plaat arendusplaadi ja Lipo aku toe jaoks.
Samm: parandage ESP32 arendusplaat
Kasutage kahepoolset kleeplinti PETG plaadile plaadi kinnitamiseks.
Samm: parandage Lipo aku
Kasutage kahepoolset kleeplinti Lipo aku kinnitamiseks peale arendusplaadi.
Samm: ühendage aku ja arendusplaat
Samm: valmistage ette kuvari tihvtid
LCD -ekraanil on palju variatsioone erinevatelt müüjatelt. Palun hankige õige andmeleht ja lugege see enne plaastrit ja ühendust.
Mõned tihvtid on reserveeritud puutepaneelile. Kuna sellel vedelkristallekraanil pole puutetundlikku paneeli, võib häireid vähendada lihtsalt nende tihvtide väljalõikamine.
Samm: ühendage GND tihvtid
Enamikul juhtudel on GND -ga ühenduse loomiseks vähe kontakte. Jootmise vähendamiseks lõikasin vasest lindi kuju, et jõuda kõigi GND tihvtideni ja seejärel jootma.
Samm: ühendage Vcc -tihvtid
Vcc -ga ühendamiseks on vaja 2 tihvti, LCD -toide ja LED -toide. Andmelehe kohaselt saab LCD -toite otse ühendada 3,3 V pingeplaadiga, kuid LED -toide töötab veidi madalamal kui 3,3 V. Seega on parem lisada SMD -takisti keskele, nt. 12 oomi takisti.
12. samm: ühendage LCD- ja arendusplaadi tugi
kasutage lindi abil LCD -toe ja arendusplaadi toe ühendamist. Mõlemad toed peaksid kokku voltimiseks jätma umbes 5 mm vahe.
Samm: ühendage SPI -tihvtid
Siin on ühenduse kokkuvõte:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> pole ühendatud Vcc -> 3,3 V LED+ -> 12 oomi takisti -> 3,3 V LED - -> GND
14. samm: välguprogramm
- Laadige lähtekood alla GitHubist:
- Käivitage lähtekoodi kausta all käsk "make menuconfig"
- Valige "Nofrendo ESP32-specific configuration"
- Valige "Riistvara, mida kasutada" -> "Kohandatud riistvara"
- Valige "LCD tüüp" -> "ST7789V LCD"
- Täitmisnõela seaded: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, taustvalgus -> -1, IPS -> Y
- Välju ja salvesta
- Käivitage "make -j5 flash"
- Käivitage "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Samm: I2C -pistik
I2C tihvtide katkestamine, ESP32 vaikimisi I2C tihvtid on järgmised:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (5 V toide puudub, kui toiteallikaks on Lipo aku) Pin 4 (GND) -> GND
16. samm: kokkupanek 1. osa
Järgige video samme, et kõik osad voldida ja kokku suruda.
17. samm: prototüüp I2C mängupult
I2C mängupuldi programm on väga lihtne, ainult 15 koodirida. Kuid pärast jootmist on ATtiny861 ümberprogrammeerimine pisut raske, seega on parem seda kõigepealt testida leivaplaadil.
Laadige programm alla, kompileerige ja välgutage GitHubist:
18. samm: looge I2C mängupult
Siin on ühenduse kokkuvõte:
ATtiny861 Nupp
GND -> Kõik nupud üks nööpnõel Nööpnõel 20 (PA0) -> Ülesnupp Tihvt 19 (PA1) -> Allanupp Tihvt 18 (PA2) -> Vasakpoolne nupp Tihvt 17 (PA3) -> Parempoolne nupp Tihvt 14 (PA4) -> Valige nupp Pin 13 (PA5) -> Start -nupp Pin 12 (PA6) -> A -nupp Pin 11 (PA7) -> B -nupp Pin 6 (GND) -> I2C isast tihvti päise tihvt 4 Pin 5 (Vcc) -> I2C isast tihvti otsiku tihvt 3 tihvti 3 (SCL) -> I2C isast tihvti otsiku tihvti 1 tihvti 1 (SDA) -> I2C isast tihvti
19. samm: kokkupanek 2. osa
Kaane ja mängupuldi I2C põhikorpusele paigaldamiseks järgige videotoiminguid.
Samm 20: valikuline: helitugevuse tihvtid
ESP32 arendajaplaat Pistikud 25 ja 26 väljastavad analooghelisignaali, nende kahe kontakti ja ka toitepistikute (3,3 V ja GND) ülaosas on väga lihtne lahti murda. Seejärel saate kõrvaklapid ühendada. Või isegi saate lisada kõlariga helivõimendusmooduli, et seda kõvasti mängida.
21. samm: mis saab edasi?
NES -emulaator pole ainus huvitav asi, mida saate ESP32 abil teha. Nt. saate selle abil luua mikropüütoni konsooli. Ainus komponent, mida peate muutma, on I2C mängupult I2C klaviatuurilt. Ma arvan, et ATtiny88 kontrolleriga pole seda nii raske teha. Olekut saate jälgida minu twitterist.
Soovitan:
DIY käeshoitav mängukonsool RetroPie abil: 7 sammu
DIY pihuarvuti mängukonsool RetroPie abil: selle projekti paremaks mõistmiseks vaadake ülaltoodud videot. Hästi. On aeg alustada! Esiteks kasutame RetroPie'i. See jätab meile kaks võimalust. Kui oleme oma SD -kaardile juba Raspbiani installinud, saame RetroPi installida
DIY Raspberry Pi Zero käeshoitav mängukonsool: 6 sammu (piltidega)
DIY Raspberry Pi Zero pihuarvuti mängukonsool: Selles projektis näitan teile, kuidas ma kasutasin pihuarvutiga mängukonsooli loomiseks Raspberry Pi Zero, NiMH akusid, omatehtud ülelaadimise kaitselülitust, tahavaate LCD-d ja helivõimendit retro mängud. Alustame
GamePi - käeshoitav emulaatori konsool: 17 sammu (koos piltidega)
GamePi - käeshoitav emulaatorikonsool: Sissejuhatus: see juhend kirjeldab Raspberry Pi 3 toitega pihuarvuti emuleerimiskonsooli ehitamist - olen selle GamePi ristinud. Selliste seadmete jaoks on palju sarnaseid juhendeid, kuid minu maitse järgi on enamik neist kas liiga suured, liiga väikesed
Käeshoitav mängukonsool - Arduboy kloon: 6 sammu (piltidega)
Käeshoitav mängukonsool | Arduboy kloon: paar kuud tagasi sattusin Arduboy juurde, mis on selle ametliku veebisaidi andmetel miniatuurne 8-bitine mänguplatvorm, mis hõlbustab võrgus mängude õppimist, jagamist ja mängimist. See on avatud lähtekoodiga platvorm. Arduboy jaoks mõeldud mänge teeb kasutaja
Omatehtud mängukonsool- "NinTIMdo RP": 7 sammu (koos piltidega)
Kodune mängukonsool- "NinTIMdo RP": link veebisaidile, kus on põhjalikumad selgitused, osade loend ja failidhttp: //timlindquist.meSee projekt pidi looma kaasaskantava mängusüsteemi, mis võiks olla ka kaasaskantav arvuti. Eesmärk oli luua konsool, mis oleks ka funktsionaalne