Sadržaj:

ESP32 ručna igraća konzola: 21 korak (sa slikama)
ESP32 ručna igraća konzola: 21 korak (sa slikama)

Video: ESP32 ručna igraća konzola: 21 korak (sa slikama)

Video: ESP32 ručna igraća konzola: 21 korak (sa slikama)
Video: The World’s Smallest Game Boy 2024, Srpanj
Anonim
Image
Image
Priprema hardvera
Priprema hardvera

Ove upute pokazuju kako koristiti ESP32 i ATtiny861 za izgradnju NES emulacijske igraće konzole.

Korak 1: Priprema hardvera

Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera

ESP32 ploča za razvoj

Ovaj put koristim razvojnu ploču TTGO T8 ESP32. Ova ploča ima ugrađen Lipo krug za punjenje i regulaciju, što može pomoći u smanjenju dodatnih komponenti.

Prikaz

Ovaj put koristim 2,4 -inčni IPS LCD. Upravljački program je ST7789V, a rezolucija je 320 x 240. Ova rezolucija najbolje odgovara NES emulatoru rezolucije 252 x 224.

Baterija

Ovaj put koristim Lipo bateriju 454261. Debljina ploče ESP32 dev je 4,5 mm, a širina ploče 61 mm.

Zaglavlje pribadače

4 -pinski muški okrugli pin zaglavlje i 4 -pinski ženski okrugli pin zaglavlje za povezivanje I2C gamepada.

PETG ploča

Mala PET/PETG ploča za podupiranje ploče za razvoj i Lipo baterije, lako je možete pronaći u pakiranju proizvoda.

Višenamjenska PCB

Potrebna su 2 PCB -a, 1,4 mm debljine za podršku zaslona, 1 1,2 mm debljine za I2C gamepad.

Gumbi

Gumb s 5 smjerova, 2 mala gumba za odabir i početak i 2 za tipke A i B.

I2C Gamepad kontroler

Ovaj put koristim ATtiny861 mikrokontroler kao I2C kontroler gamepada.

Drugi

1 SMD otpornik od 12 ohma, ISP programer (npr. TinyISP)

Korak 2: Priprema softvera

Priprema softvera
Priprema softvera
Priprema softvera
Priprema softvera
Priprema softvera
Priprema softvera

Arduino IDE

Preuzmite i instalirajte Arduino IDE ako još niste:

ATTinyCore podrška

Slijedite korake za instalaciju da biste dodali podršku za ATTinyCore ako još nije dostupna:

ESP-IDF

Slijedite vodič za početak rada ESP-IDF-a za postavljanje razvojnog okruženja ako još nije:

Korak 3: 3D ispis

3D ispis
3D ispis

Preuzmite i ispišite kućište:

Korak 4: LCD podrška

LCD podrška
LCD podrška
LCD podrška
LCD podrška

Izrežite 24 x 27 rupa 0,4 mm PCB za LCD podršku. Upamtite, rezervirajte malo prostora za preklapanje LCD FPC -a. Zatim upotrijebite dvostranu ljepljivu traku koja fiksira LCD na PCB -u.

Korak 5: Pripremite PETG ploču

Pripremite PETG ploču
Pripremite PETG ploču
Pripremite PETG ploču
Pripremite PETG ploču

Izrežite PETG ploču 62 mm x 69 mm za razvojnu ploču i nosač Lipo baterije.

Korak 6: Popravite ESP32 ploču za razvoj

Popravite razvojnu ploču ESP32
Popravite razvojnu ploču ESP32

Dvostranom ljepljivom trakom pričvrstite ploču za razvoj na PETG ploču.

Korak 7: Popravite Lipo bateriju

Popravite Lipo bateriju
Popravite Lipo bateriju

Upotrijebite dvostranu ljepljivu traku za pričvršćivanje Lipo baterije osim ploče za razvoj.

Korak 8: Povežite bateriju i razvojnu ploču

Spojite bateriju i razvojnu ploču
Spojite bateriju i razvojnu ploču

Korak 9: Pripremite igle za prikaz

Pripremite igle za prikaz
Pripremite igle za prikaz

LCD zasloni imaju mnogo varijacija različitih proizvođača. Nabavite ispravan podatkovni list i pročitajte ga prije bilo kakvog zakrpa i povezivanja.

Neki pinovi rezervirani su za dodirnu ploču. Budući da ovaj LCD nema dodirnu ploču, jednostavno izrežite te igle kako biste smanjili smetnje.

Korak 10: Spojite GND pinove

Spojite GND pinove
Spojite GND pinove
Spojite GND pinove
Spojite GND pinove

U većini slučajeva postoji nekoliko pinova koji zahtijevaju spajanje na GND. Kako bih smanjio napor lemljenja, izrezao sam oblik bakrene trake kako bih dosegao sve GND igle, a zatim potpuno lemio.

Korak 11: Spojite Vcc pinove

Spojite Vcc pinove
Spojite Vcc pinove

Potrebna su 2 pina za spajanje na Vcc, napajanje LCD -a i LED napajanje. Prema podacima, napajanje LCD -a može se izravno spojiti na utičnicu od 3,3 V, ali LED napajanje radi malo niže od 3,3 V. Zato je bolje dodati SMD otpornik u sredinu, npr. Otpor 12 Ohma.

Korak 12: Povežite podršku za LCD i razvojnu ploču

Povežite podršku za LCD i razvojnu ploču
Povežite podršku za LCD i razvojnu ploču

koristite LCD podršku za traku za spajanje i podršku za razvojnu ploču zajedno. Obje potpore trebale bi ostaviti razmak od oko 5 mm za preklapanje.

Korak 13: Spojite SPI pinove

Spojite SPI pinove
Spojite SPI pinove

Evo sažetka veze:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nije spojen Vcc -> 3,3 V LED+ -> 12 Ohm otpornik -> 3,3 V LED - -> GND

Korak 14: Flash program

Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
Flash program
  1. Preuzmite izvorni kod na GitHub-u:
  2. Pod mapom izvornog koda pokrenite "make menuconfig"
  3. Odaberite "Konfiguracija specifična za Nofrendo ESP32"
  4. Odaberite "Hardver za rad" -> "Prilagođeni hardver"
  5. Odaberite "LCD tip" -> "ST7789V LCD"
  6. Postavke pina za ispunu: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Pozadinsko osvjetljenje -> -1, IPS -> Y
  7. Izađite i spremite
  8. Pokrenite "make -j5 flash"
  9. Pokreni "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Korak 15: I2C priključak

I2C konektor
I2C konektor
I2C konektor
I2C konektor
I2C konektor
I2C konektor

Ako probijete I2C pinove, ESP32 zadane I2C pinovi su:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (nema napajanja od 5 V dok se napaja Lipo baterijom) Pin 4 (GND) -> GND

Korak 16: Montaža 1. dio

Image
Image

Slijedite video korake za presavijanje i istiskivanje svih dijelova u kućište.

Korak 17: Prototip I2C gamepada

Prototip I2C gamepada
Prototip I2C gamepada
Prototip I2C gamepada
Prototip I2C gamepada

Program za I2C Gamepad vrlo je jednostavan, samo 15 redaka koda. No, malo je teško reprogramirati ATtiny861 nakon lemljenja, pa je bolje prvo ga testirati na ploči.

Preuzmite, kompajlirajte i fleširajte program s GitHub -a:

Korak 18: Izgradite I2C gamepad

Napravite I2C gamepad
Napravite I2C gamepad
Napravite I2C gamepad
Napravite I2C gamepad
Napravite I2C gamepad
Napravite I2C gamepad

Evo sažetka veze:

Gumb ATtiny861

GND -> Svi gumbi jedan pin Pin 20 (PA0) -> Gornja tipka Pin 19 (PA1) -> Dolje tipka Pin 18 (PA2) -> Lijeva tipka Pin 17 (PA3) -> Desna tipka Pin 14 (PA4) -> Odaberite gumb Pin 13 (PA5) -> Tipka Start Pin 12 (PA6) -> A gumb Pin 11 (PA7) -> tipka B Pin 6 (GND) -> I2C muški pin pin 4 Pin 5 (Vcc) -> I2C muški pin zaglavlje pin 3 Pin 3 (SCL) -> I2C muški pin pin zaglavlja 1 Pin 1 (SDA) -> I2C muški pin pin zaglavlja 2

Korak 19: Montaža 2. dio

Image
Image
Izborno: Igla za probijanje zvuka
Izborno: Igla za probijanje zvuka

Slijedite video korake za postavljanje poklopca i I2C gamepada na glavno tijelo.

Korak 20: Izborno: Igla za prekid zvuka

Image
Image
Izborno: Igla za probijanje zvuka
Izborno: Igla za probijanje zvuka

ESP32 dev ploča Pin 25 i 26 emitira analogni audio signal, vrlo je lako probiti ove 2 pinove, a također i pinove za napajanje (3,3 V i GND) na vrhu. Zatim možete zakrpati slušalice da biste ih priključili. Ili čak možete dodati modul audio pojačala sa zvučnikom za glasno sviranje.

Korak 21: Što je sljedeće?

Što je sljedeće?
Što je sljedeće?

NES emulator nije jedino zanimljivo što možete napraviti s ESP32. Npr. s njom možete izgraditi mikro python konzolu. Jedina komponenta koju trebate promijeniti je s I2C gamepada na I2C tipkovnicu. Mislim da to nije tako teško napraviti s ATtiny88 kontrolerom. Možete pratiti moj twitter da vidite status.

Preporučeni: