Sisällysluettelo:

ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)
ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)

Video: ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)

Video: ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)
Video: Nintendo Switch ESP32 controller 2024, Heinäkuu
Anonim
Image
Image
Laitteiston valmistelu
Laitteiston valmistelu

Nämä oppaat osoittavat, kuinka ESP32: n ja ATtiny861: n avulla rakennetaan NES -emulaattoripelikonsoli.

Vaihe 1: Laitteiston valmistelu

Laitteiston valmistelu
Laitteiston valmistelu
Laitteiston valmistelu
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

Ohjelmiston valmistelu
Ohjelmiston valmistelu
Ohjelmiston valmistelu
Ohjelmiston valmistelu
Ohjelmiston valmistelu
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

3D -tulostus
3D -tulostus

Lataa ja tulosta kotelo:

Vaihe 4: LCD -tuki

LCD -tuki
LCD -tuki
LCD -tuki
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

Valmista PETG -levy
Valmista PETG -levy
Valmista PETG -levy
Valmista PETG -levy

Leikkaa 62 mm x 69 mm PETG -levy kehityskortille ja Lipo -akkutukille.

Vaihe 6: Korjaa ESP32 Dev Board

Korjaa ESP32 Dev Board
Korjaa ESP32 Dev Board

Kiinnitä kehityskortti PETG -levyyn kaksipuolisella teipillä.

Vaihe 7: Korjaa Lipo -akku

Korjaa Lipo -akku
Korjaa Lipo -akku

Kiinnitä Lipo -akku kehityskortin lisäksi kaksipuolisella teipillä.

Vaihe 8: Liitä akku ja kehityskortti

Liitä akku- ja kehityskortti
Liitä akku- ja kehityskortti

Vaihe 9: Valmistele näyttötapit

Valmistele näytön nastat
Valmistele näytön nastat

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

Liitä GND -nastat
Liitä GND -nastat
Liitä GND -nastat
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

Liitä Vcc -nastat
Liitä 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

Liitä LCD- ja kehityskorttituki
Liitä 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

Liitä SPI -nastat
Liitä 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

Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
Flash -ohjelma
  1. Lataa lähdekoodi GitHubista:
  2. Suorita lähdekoodikansion alla "make menuconfig"
  3. Valitse "Nofrendo ESP32-specific configuration"
  4. Valitse "Laitteisto käytettäväksi" -> "Mukautettu laitteisto"
  5. Valitse "LCD -tyyppi" -> "ST7789V LCD"
  6. Täyttötapin asetukset: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, taustavalo -> -1, IPS -> Y
  7. Poistu ja Tallenna
  8. Suorita "make -j5 flash"
  9. Suorita "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Vaihe 15: I2C -liitin

I2C -liitin
I2C -liitin
I2C -liitin
I2C -liitin
I2C -liitin
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

Image
Image

Taita ja purista kaikki osat koteloon videon ohjeiden mukaan.

Vaihe 17: Prototyyppi I2C -peliohjain

Prototyyppi I2C -peliohjain
Prototyyppi I2C -peliohjain
Prototyyppi I2C -peliohjain
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

Rakenna I2C -peliohjain
Rakenna I2C -peliohjain
Rakenna I2C -peliohjain
Rakenna I2C -peliohjain
Rakenna I2C -peliohjain
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

Image
Image
Valinnainen: Audio Breakout Pins
Valinnainen: Audio Breakout Pins

Asenna kansi ja I2C -peliohjain runkoon noudattamalla videovaiheita.

Vaihe 20: Valinnainen: Audio Breakout Pins

Image
Image
Valinnainen: Audio Breakout Pins
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?

Mitä seuraavaksi?
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.

Suositeltava: