Sisällysluettelo:
- Vaihe 1: Laitteiston valmistelu
- Vaihe 2: Ohjelmiston valmistelu
- Vaihe 3: 3D -tulostus
- Vaihe 4: LCD -tuki
- Vaihe 5: Valmistele PETG -levy
- Vaihe 6: Korjaa ESP32 Dev Board
- Vaihe 7: Korjaa Lipo -akku
- Vaihe 8: Liitä akku ja kehityskortti
- Vaihe 9: Valmistele näyttötapit
- Vaihe 10: Liitä GND -nastat
- Vaihe 11: Yhdistä Vcc -nastat
- Vaihe 12: Yhdistä LCD- ja kehityskorttituki
- Vaihe 13: Yhdistä SPI -nastat
- Vaihe 14: Flash -ohjelma
- Vaihe 15: I2C -liitin
- Vaihe 16: Asennus Osa 1
- Vaihe 17: Prototyyppi I2C -peliohjain
- Vaihe 18: Rakenna I2C -peliohjain
- Vaihe 19: Asennus Osa 2
- Vaihe 20: Valinnainen: Audio Breakout Pins
- Vaihe 21: Mitä seuraavaksi?
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Nämä oppaat osoittavat, kuinka ESP32: n ja ATtiny861: n avulla rakennetaan NES -emulaattoripelikonsoli.
Vaihe 1: Laitteiston valmistelu
ESP32 -kehityskortti
Tällä kertaa käytän TTGO T8 ESP32 dev -levyä. Tässä kortissa on sisäänrakennettu Lipo-lataus- ja säätöpiiri, se voi auttaa vähentämään ylimääräisiä komponentteja.
Näyttö
Tällä kertaa käytän 2,4 tuuman IPS -LCD -näyttöä. Ohjaimen ohjain on ST7789V ja resoluutio on 320 x 240. Tämä resoluutio sopii parhaiten NES -emulaattorille, jonka resoluutio on 252 x 224.
Akku
Tällä kertaa käytän 454261 Lipo -akkua. 4,5 mm on ESP32 -kehityskortin paksuus ja 61 mm levyn leveys.
Kiinnitä otsikko
4 -nastainen uros pyöreä nastainen otsikko ja 4 -napainen naaraspuolinen pyöreä nastainen otsake I2C -peliohjaimen liittämistä varten.
PETG -levy
Pieni PET/PETG -levy, joka tukee kehityskorttia ja Lipo -akkua, löytyy helposti tuotteen pakkauksesta.
Monikäyttöinen piirilevy
Tarvitaan 2 piirilevyä, 1 0,4 mm paksu näytön tukemiseen, 1 1,2 mm paksu I2C -peliohjaimelle.
Painikkeet
5 suuntapainiketta, 2 pientä painiketta Valitse ja Käynnistä ja 2 A- ja B -painiketta varten.
I2C -peliohjaimen ohjain
Tällä kertaa käytän ATtiny861 -mikrokontrolleria I2C -peliohjaimen ohjaimena.
Muut
1 SMD 12 ohmin vastus, ISP -ohjelmoija (esim. TinyISP)
Vaihe 2: Ohjelmiston valmistelu
Arduino IDE
Lataa ja asenna Arduino IDE, jos et vielä:
ATTinyCore -tuki
Lisää ATTinyCore -tuki asennusohjeiden mukaisesti, jos et vielä:
ESP-IDF
Seuraa ESP-IDF: n aloitusopasta kehitysympäristön määrittämiseen, jos et vielä:
Vaihe 3: 3D -tulostus
Lataa ja tulosta kotelo:
Vaihe 4: LCD -tuki
Leikkaa 24 x 27 reiän 0,4 mm: n piirilevy LCD -tukea varten. Muista varata tilaa LCD FPC: n taittamiseen. Kiinnitä sitten nestekidenäyttö piirilevyyn käyttämällä kaksipuolista teippiä.
Vaihe 5: Valmistele PETG -levy
Leikkaa 62 mm x 69 mm PETG -levy kehityskortille ja Lipo -akkutukille.
Vaihe 6: Korjaa ESP32 Dev Board
Kiinnitä kehityskortti PETG -levyyn kaksipuolisella teipillä.
Vaihe 7: Korjaa Lipo -akku
Kiinnitä Lipo -akku kehityskortin lisäksi kaksipuolisella teipillä.
Vaihe 8: Liitä akku ja kehityskortti
Vaihe 9: Valmistele näyttötapit
LCD -näytöllä on monia muunnelmia eri toimittajilta. Hanki oikea tietolomake ja lue se ennen korjaustiedostoa ja yhteyttä.
Jotkut nastat on varattu kosketuspaneelille. Koska tässä nestekidenäytössä ei ole kosketusnäyttöä, voit yksinkertaisesti leikata ne pois, jolloin häiriöt vähenevät.
Vaihe 10: Liitä GND -nastat
Useimmissa tapauksissa on vain muutamia nastoja, jotka vaativat yhteyden GND: hen. Juottamisen vähentämiseksi leikkasin kuparinauhan muodon kaikkien GND -nastojen saavuttamiseksi ja sitten juottamisen kokonaan.
Vaihe 11: Yhdistä Vcc -nastat
Virtalähteeseen liittämiseen tarvitaan kaksi nastaa, nestekidenäyttö ja LED -virta. Tietolomakkeen mukaan nestekidenäyttö voi kytkeä suoraan 3,3 V: n kehityskorttiin, mutta LED -teho toimii hieman alle 3,3 V. Siksi on parempi lisätä SMD -vastus keskelle, esim. 12 ohmin vastus.
Vaihe 12: Yhdistä LCD- ja kehityskorttituki
käytä LCD -tuen ja kehityskortin tuen yhdistämistä nauhalla. Molempien tukien tulee jättää noin 5 mm rako taittamista varten.
Vaihe 13: Yhdistä SPI -nastat
Tässä yhteenveto yhteydestä:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> ei kytketty Vcc -> 3,3 V LED+ -> 12 ohmin vastus -> 3,3 V LED - -> GND
Vaihe 14: Flash -ohjelma
- Lataa lähdekoodi GitHubista:
- Suorita lähdekoodikansion alla "make menuconfig"
- Valitse "Nofrendo ESP32-specific configuration"
- Valitse "Laitteisto käytettäväksi" -> "Mukautettu laitteisto"
- Valitse "LCD -tyyppi" -> "ST7789V LCD"
- Täyttötapin asetukset: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, taustavalo -> -1, IPS -> Y
- Poistu ja Tallenna
- Suorita "make -j5 flash"
- Suorita "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Vaihe 15: I2C -liitin
Katkaise I2C -nastat, ESP32 -oletus I2C -nastat ovat:
Nasta 1 (SCL) -> GPIO 22
Nasta 2 (SDA) -> GPIO 21 Nasta 3 (Vcc) -> 3,3 V (ei 5 V: n virtaa, kun se toimii Lipo -akulla) Nasta 4 (GND) -> GND
Vaihe 16: Asennus Osa 1
Taita ja purista kaikki osat koteloon videon ohjeiden mukaan.
Vaihe 17: Prototyyppi I2C -peliohjain
I2C -peliohjaimen ohjelma on hyvin yksinkertainen, vain 15 riviä koodia. Mutta ATtiny861: n uudelleenohjelmointi juottamisen jälkeen on hieman vaikeaa, joten on parempi testata se ensin leipälaudalla.
Lataa, koota ja päivitä ohjelma GitHubista:
Vaihe 18: Rakenna I2C -peliohjain
Tässä on yhteenveto yhteydestä:
ATtiny861 -painike
GND -> Kaikki painikkeet yksi nastainen Nasta 20 (PA0) -> Ylös -painike Nasta 19 (PA1) -> Alas -painike Nasta 18 (PA2) -> Vasen painike Nasta 17 (PA3) -> Oikea painike Nasta 14 (PA4) -> Valitse painike Nasta 13 (PA5) -> Käynnistyspainike Nasta 12 (PA6) -> A -painike Nasta 11 (PA7) -> B -painike Nasta 6 (GND) -> I2C -urosnastainen nastatappi 4 Nasta 5 (Vcc) -> I2C urosnastainen nastatappi 3 nasta 3 (SCL) -> I2C -urospistoke -nastatappi 1 nasta 1 (SDA) -> I2C -urospistoke
Vaihe 19: Asennus Osa 2
Asenna kansi ja I2C -peliohjain runkoon noudattamalla videovaiheita.
Vaihe 20: Valinnainen: Audio Breakout Pins
ESP32 -kehityskortti Nastat 25 ja 26 antavat analogisen äänisignaalin, ja nämä kaksi nastaa on myös helppo katkaista ja myös yläpuolella olevat pistokkeet (3,3 V ja GND). Sitten voit kiinnittää kuulokkeen liittääksesi sen. Tai jopa voit lisätä äänivahvistinmoduulin kaiuttimella, jotta voit toistaa sen kovaa.
Vaihe 21: Mitä seuraavaksi?
NES -emulaattori ei ole ainoa mielenkiintoinen asia, jonka voit tehdä ESP32: lla. Esim. voit rakentaa sen kanssa mikro -python -konsolin. Ainoa osa, joka sinun on vaihdettava, on I2C -peliohjaimesta I2C -näppäimistöön. Mielestäni sen tekeminen ATtiny88 -ohjaimella ei ole niin vaikeaa. Voit seurata twitteriä nähdäksesi tilan.