Përmbajtje:

Konsola e lojërave ESP32 Handheld: 21 hapa (me fotografi)
Konsola e lojërave ESP32 Handheld: 21 hapa (me fotografi)

Video: Konsola e lojërave ESP32 Handheld: 21 hapa (me fotografi)

Video: Konsola e lojërave ESP32 Handheld: 21 hapa (me fotografi)
Video: ODROID GO mp3 player - ESP32 2024, Nëntor
Anonim
Image
Image
Përgatitja e harduerit
Përgatitja e harduerit

Ky udhëzues tregon se si të përdorni një ESP32 dhe ATtiny861 për të ndërtuar një tastierë lojërash emulatore NES.

Hapi 1: Përgatitja e harduerit

Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit
Përgatitja e harduerit

ESP32 Bordi i Zhvillimit

Këtë herë unë jam duke përdorur një bord bordi TTGO T8 ESP32. Ky bord ka qark të karikimit dhe rregullimit Lipo të integruar, mund të ndihmojë në zvogëlimin e përbërësve shtesë.

Shfaq

Këtë herë unë jam duke përdorur një IPS LCD 2.4 . Kontrolluesi i shoferit është ST7789V dhe rezolucioni është 320 x 240. Kjo rezolutë është më e përshtatshme për emulatorin NES 252 x 224.

Bateri

Këtë herë unë jam duke përdorur një bateri 454261 Lipo. 4.5 mm është trashësia e bordit ESP32 dev, dhe 61 mm është gjerësia e bordit.

Koka e kokës

Një kokë me kunja të rrumbullakëta mashkullore me 4 kunja dhe një kokë me kunja të rrumbullakëta me 4 kunja për lidhjen e tastierës së lojës I2C.

Pjatë PETG

Një pjatë e vogël PET/PETG për mbështetjen e bordit dev dhe baterisë Lipo, lehtë mund ta gjeni në paketimin e produktit.

PCB me shumë qëllime

Kërkohet 2 PCB, 1 0.4 mm e trashë për të mbështetur Ekranin, 1 1.2 mm e trashë për një tastierë lojërash I2C.

Butonat

Një buton me 5 drejtime, 2 butona të vegjël për Select dhe Start dhe 2 për butonin A dhe B.

Kontrolluesi I2C Gamepad

Këtë herë unë përdor një mikrokontrollues ATtiny861 si një kontrollues gamepad I2C.

Të tjerët

1 rezistencë SMD 12 Ohm, një programues ISP (p.sh. TinyISP)

Hapi 2: Përgatitja e softuerit

Përgatitja e Softuerit
Përgatitja e Softuerit
Përgatitja e Softuerit
Përgatitja e Softuerit
Përgatitja e Softuerit
Përgatitja e Softuerit

Arduino IDE

Shkarkoni dhe instaloni Arduino IDE nëse jo akoma:

Mbështetje ATTinyCore

Ndiqni hapat e instalimit për të shtuar mbështetjen ATTinyCore nëse jo akoma:

ESP-IDF

Ndiqni udhëzuesin e fillimit të ESP-IDF për të konfiguruar mjedisin e zhvillimit nëse jo akoma:

Hapi 3: Shtypja 3D

Shtypje 3D
Shtypje 3D

Shkarkoni dhe printoni rastin:

Hapi 4: Mbështetje LCD

Mbështetje LCD
Mbështetje LCD
Mbështetje LCD
Mbështetje LCD

Pritini një PCB 24 x 27 vrima 0.4 mm për mbështetje LCD. Mos harroni rezervoni pak hapësirë për palosjen e LCD FPC. Pastaj përdorni disa shirit ngjitës të dyfishtë rregulloni LCD -në në PCB.

Hapi 5: Përgatitni Pjatën PETG

Përgatitni Pjatën PETG
Përgatitni Pjatën PETG
Përgatitni Pjatën PETG
Përgatitni Pjatën PETG

Pritini një pllakë PETG 62 mm x 69 mm për bordin dev dhe mbështetjen e baterisë Lipo.

Hapi 6: Fiksoni Bordin ESP32 Dev

Fiksoni Bordin ESP32 Dev
Fiksoni Bordin ESP32 Dev

Përdorni shirit ngjitës me anë të dyfishtë për të fiksuar tabelën dev në pllakën PETG.

Hapi 7: Rregulloni Baterinë Lipo

Rregulloni Baterinë Lipo
Rregulloni Baterinë Lipo

Përdorni shirit ngjitës me anë të dyfishtë për të rregulluar baterinë Lipo përveç bordit dev.

Hapi 8: Lidhni Battery & Dev Board

Lidhni Battery & Dev Board
Lidhni Battery & Dev Board

Hapi 9: Përgatitni kunjat e ekranit

Përgatitni kunjat e ekranit
Përgatitni kunjat e ekranit

Ekranet LCD kanë shumë ndryshime nga shitës të ndryshëm. Ju lutemi merrni fletën e të dhënave të saktë dhe lexojeni atë para çdo arnimi dhe lidhjeje.

Disa kunja janë të rezervuara për panelin me prekje. Meqenëse ky LCD nuk ka panel me prekje, thjesht prerja e atyre kunjave mund të zvogëlojë shqetësimin.

Hapi 10: Lidhni Kunjat GND

Lidh Kunjat GND
Lidh Kunjat GND
Lidh Kunjat GND
Lidh Kunjat GND

Në shumicën e rasteve, ka pak kunja që kërkojnë lidhje me GND. Për të zvogëluar përpjekjen e bashkimit, unë prerë një formë kasete bakri për të arritur të gjitha kunjat GND dhe pastaj bashkim krejt.

Hapi 11: Lidhni kunjat e Vcc

Lidhni kunjat e Vcc
Lidhni kunjat e Vcc

Janë të nevojshme 2 kunja për t'u lidhur me Vcc, fuqinë LCD dhe fuqinë LED. Sipas fletës së të dhënave, fuqia LCD mund të lidhet drejtpërdrejt me bordin dev 3.3 V, por fuqia LED funksionon pak më e ulët se 3.3 V. Pra, është më mirë të shtoni një rezistencë SMD në mes, p.sh. Rezistencë 12 Ohm.

Hapi 12: Lidhni mbështetjen e LCD & Dev Board

Lidhni Mbështetjen e Bordit LCD & Dev
Lidhni Mbështetjen e Bordit LCD & Dev

përdorni kasetë lidhni mbështetjen LCD dhe mbështetjen e bordit dev së bashku. Të dy mbështetësit duhet të rezervojnë një hendek prej 5 mm për palosje.

Hapi 13: Lidhni kunjat SPI

Lidhni kunjat SPI
Lidhni kunjat SPI

Këtu janë përmbledhjet e lidhjes:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> pa lidhje Vcc -> 3.3 V LED+ -> Rezistencë 12 Ohm -> LED 3.3 V - -> GND

Hapi 14: Programi Flash

Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
Program Flash
  1. Shkarkoni kodin burimor në GitHub:
  2. Nën dosjen e kodit burimor, ekzekutoni "make menuconfig"
  3. Zgjidhni "Konfigurimi specifik i Nofrendo ESP32"
  4. Zgjidhni "Pajisje kompjuterike për të punuar" -> "Pajisje fizike të personalizuara"
  5. Zgjidhni "Lloji LCD" -> "ST7789V LCD"
  6. Plotësoni cilësimet e kunjave: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
  7. Dilni dhe ruani
  8. Drejtoni "make -j5 flash"
  9. Drejtoni "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Hapi 15: Lidhësi I2C

Lidhës I2C
Lidhës I2C
Lidhës I2C
Lidhës I2C
Lidhës I2C
Lidhës I2C

Thyerja e kunjave I2C, kunjat e paracaktuar të ESP32 I2C janë:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3.3 V (pa fuqi 5 V ndërsa mundësuar nga bateria Lipo) Pin 4 (GND) -> GND

Hapi 16: Asambleja Pjesa 1

Image
Image

Ndiqni hapat e videos për të palosur dhe shtrydhur të gjitha pjesët në kasë.

Hapi 17: Prototipi I2C Gamepad

Prototipi I2C Gamepad
Prototipi I2C Gamepad
Prototipi I2C Gamepad
Prototipi I2C Gamepad

Programi për Gamepad I2C është shumë i thjeshtë, vetëm 15 rreshta kod. Por është pak e vështirë të riprogramoni ATtiny861 pas bashkimit, kështu që është më mirë ta provoni së pari në pjatën e bukës.

Shkarkoni, përpiloni dhe ndizni programin nga GitHub:

Hapi 18: Ndërtoni Gamepad I2C

Ndërtoni Gamepad I2C
Ndërtoni Gamepad I2C
Ndërtoni Gamepad I2C
Ndërtoni Gamepad I2C
Ndërtoni Gamepad I2C
Ndërtoni Gamepad I2C

Këtu janë Përmbledhja e lidhjes:

Butoni ATtiny861

GND -> Të gjithë butonat me një kunj Pin 20 (PA0) -> Butoni lart Pin 19 (PA1) -> Butoni poshtë Pin 18 (PA2) -> Butoni i majtë Pin 17 (PA3) -> Butoni i djathtë Pin 14 (PA4) -> Zgjidh butonin Pin 13 (PA5) -> Butoni i fillimit Pin 12 (PA6) -> Një buton Pin 11 (PA7) -> Butoni B Pin 6 (GND) -> Kodi i kokës së kunjit mashkullor I2C 4 Pin 5 (Vcc) -> I2C kunja e kunjit të meshkujve 3 Pin 3 (SCL) -> Kodi i kokës së kunjit mashkullor I2C 1 Pin 1 (SDA) -> Kodi i kokës i kunjës mashkullore I2C 2

Hapi 19: Pjesa e Kuvendit 2

Image
Image
Opsionale: Kunjat e shpërthimit të audios
Opsionale: Kunjat e shpërthimit të audios

Ndiqni hapat e videos për të instaluar kapakun dhe tastierën e lojës I2C në trupin kryesor.

Hapi 20: Opsionale: Kunjat e zhurmës së audios

Image
Image
Opsionale: Kunjat e shpërthimit të audios
Opsionale: Kunjat e shpërthimit të audios

Bordi ESP32 dev Pin 25 dhe 26 po nxjerr sinjalin analog audio, është shumë e lehtë të thyhen këto 2 kunja dhe gjithashtu kunjat e energjisë (3.3 V dhe GND) në krye. Pastaj mund të arnoni një kufje për ta lidhur atë. Ose madje mund të shtoni një modul përforcues audio me altoparlant për ta luajtur atë me zë të lartë.

Hapi 21: Çfarë vjen më pas?

Ç'pritet më tej?
Ç'pritet më tej?

Emulatori NES nuk është e vetmja gjë interesante që mund të bëni me ESP32. P.sh. me të mund të ndërtoni një tastierë mikro pitoni. Komponenti i vetëm që duhet të ndryshoni është nga tastiera e lojërave I2C në tastierën I2C. Unë mendoj se nuk është aq e vështirë ta bësh atë me një kontrollues ATtiny88. Ju mund të ndiqni Twitter -in tim për të parë statusin.

Recommended: