Kazalo:

Ročna igralna konzola ESP32: 21 korakov (s slikami)
Ročna igralna konzola ESP32: 21 korakov (s slikami)

Video: Ročna igralna konzola ESP32: 21 korakov (s slikami)

Video: Ročna igralna konzola ESP32: 21 korakov (s slikami)
Video: The World’s Smallest Game Boy 2024, Julij
Anonim
Image
Image
Priprava strojne opreme
Priprava strojne opreme

Ta navodila kažejo, kako uporabiti ESP32 in ATtiny861 za izdelavo igralne konzole za emulator NES.

1. korak: Priprava strojne opreme

Priprava strojne opreme
Priprava strojne opreme
Priprava strojne opreme
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

Priprava programske opreme
Priprava programske opreme
Priprava programske opreme
Priprava programske opreme
Priprava programske opreme
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

3D tiskanje
3D tiskanje

Prenesite in natisnite etui:

4. korak: Podpora za LCD

Podpora za LCD
Podpora za LCD
Podpora za LCD
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

Pripravite PETG ploščo
Pripravite PETG ploščo
Pripravite PETG ploščo
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

Popravite ESP32 Dev Board
Popravite ESP32 Dev Board

Z dvostranskim lepilnim trakom pritrdite dev ploščo na ploščo PETG.

Korak 7: Popravite Lipo baterijo

Popravite Lipo baterijo
Popravite Lipo baterijo

Za pritrditev Lipo baterije poleg dev plošče uporabite dvostranski lepilni trak.

8. korak: Priključite baterijo in razvojno ploščo

Priključite baterijo in razvojno ploščo
Priključite baterijo in razvojno ploščo

9. korak: Pripravite prikazovalne zatiče

Pripravite prikazovalne zatiče
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

Priključite zatiče GND
Priključite zatiče GND
Priključite zatiče GND
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

Priključite vtiče Vcc
Priključite vtiče Vcc

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

Povežite podporo za plošče LCD & Dev Board
Povežite podporo za plošče LCD & Dev Board

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

Priključite zatiče SPI
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

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

Korak 15: Priključek I2C

Priključek I2C
Priključek I2C
Priključek I2C
Priključek I2C
I2C priključek
I2C priključek

Č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

Image
Image

Sledite video korakom, da zložite in stisnete vse dele v ohišje.

Korak 17: Prototip I2C igralne plošče

Prototip I2C igralne plošče
Prototip I2C igralne plošče
Prototip I2C igralne plošče
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

Zgradite igralno ploščo I2C
Zgradite igralno ploščo I2C
Zgradite igralno ploščo I2C
Zgradite igralno ploščo I2C
Zgradite igralno ploščo I2C
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

Image
Image
Izbirno: zatiči za zvok
Izbirno: zatiči za zvok

Sledite video korakom, da namestite pokrov in igralno ploščo I2C na glavno ohišje.

20. korak: Izbirno: zatiči za zvok

Image
Image
Izbirno: zatiči za zvok
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?

Kaj je naslednje?
Kaj je naslednje?

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: