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?
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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.