Indholdsfortegnelse:

ESP32 håndholdt spilkonsol: 21 trin (med billeder)
ESP32 håndholdt spilkonsol: 21 trin (med billeder)

Video: ESP32 håndholdt spilkonsol: 21 trin (med billeder)

Video: ESP32 håndholdt spilkonsol: 21 trin (med billeder)
Video: Этот мини-видеоплеер, сделанный своими руками, просто УДИВИТЕЛЬНЫЙ! | 👀🎥📺 #arduino #esp32 #electronics #opensource #code 2024, November
Anonim
Image
Image
Forberedelse af hardware
Forberedelse af hardware

Denne instruktion viser, hvordan man bruger en ESP32 og ATtiny861 til at bygge en NES -emulator -spilkonsol.

Trin 1: Forberedelse af hardware

Forberedelse af hardware
Forberedelse af hardware
Forberedelse af hardware
Forberedelse af hardware

ESP32 Dev Board

Denne gang bruger jeg et TTGO T8 ESP32 dev -kort. Dette kort har indbygget Lipo opladnings- og reguleringskredsløb, det kan hjælpe med at reducere de ekstra komponenter.

Skærm

Denne gang bruger jeg en 2,4 IPS LCD. Drivercontrolleren er ST7789V og opløsningen er 320 x 240. Denne opløsning er bedst egnet til NES emulator 252 x 224 opløsning.

Batteri

Denne gang bruger jeg et 454261 Lipo batteri. 4,5 mm er tykkelsen på ESP32 dev board, og 61 mm er boardets bredde.

Pin Header

En 4 -pins hanrunde -pin -header og en 4 -pins hun -rund -pin -header til tilslutning af I2C gamepad.

PETG -tallerken

En lille PET/PETG -plade til understøttelse af dev board og Lipo batteri, du kan nemt finde den i produktemballage.

PCB til flere formål

2 printkort kræves, 1 0,4 mm tyk til understøttelse af skærmen, 1 1,2 mm tyk til en I2C gamepad.

Knapper

En 5 retnings knap, 2 små knapper til Select og Start og 2 til A og B knap.

I2C gamepad -controller

Denne gang bruger jeg en ATtiny861 mikrokontroller som en I2C gamepad controller.

Andre

1 SMD 12 Ohm modstand, en ISP programmør (f.eks. TinyISP)

Trin 2: Forberedelse af software

Forberedelse af software
Forberedelse af software
Forberedelse af software
Forberedelse af software
Forberedelse af software
Forberedelse af software

Arduino IDE

Download og installer Arduino IDE hvis ikke endnu:

ATTinyCore Support

Følg installationstrinnene for at tilføje ATTinyCore -support, hvis ikke endnu:

ESP-IDF

Følg ESP-IDF startguiden til opsætning af udviklingsmiljøet, hvis ikke endnu:

Trin 3: 3D -udskrivning

3D -udskrivning
3D -udskrivning

Download og udskriv sagen:

Trin 4: LCD -understøttelse

LCD -understøttelse
LCD -understøttelse
LCD -understøttelse
LCD -understøttelse

Skær et 24 x 27 huller 0,4 mm printkort til LCD -understøttelse. Husk at reservere plads til foldning af LCD FPC. Brug derefter et dobbeltklæbende tape til at fastgøre LCD'en på printkortet.

Trin 5: Forbered PETG -plade

Forbered PETG -plade
Forbered PETG -plade
Forbered PETG -plade
Forbered PETG -plade

Skær en 62 mm x 69 mm PETG -plade ud til dev board og Lipo batteristøtte.

Trin 6: Fix ESP32 Dev Board

Fix ESP32 Dev Board
Fix ESP32 Dev Board

Brug dobbeltklæbende tape til at fastgøre dev -bord på PETG -pladen.

Trin 7: Fix Lipo -batteri

Fix Lipo -batteri
Fix Lipo -batteri

Brug dobbeltklæbende tape til at fastsætte Lipo -batteri udover dev -kortet.

Trin 8: Tilslut batteri og dev -kort

Tilslut batteri og dev -kort
Tilslut batteri og dev -kort

Trin 9: Forbered skærmnåle

Forbered skærmnåle
Forbered skærmnåle

LCD -display har mange variationer fra forskellige leverandører. Indhent det korrekte datablad, og læs det før en patch og forbindelse.

Nogle ben er forbeholdt berøringspanel. Da denne LCD -skærm ikke har berøringspanel, kan du blot afskære disse stifter for at reducere forstyrrelsen.

Trin 10: Tilslut GND Pins

Tilslut GND Pins
Tilslut GND Pins
Tilslut GND Pins
Tilslut GND Pins

I de fleste tilfælde er der få stifter, der kræver forbindelse til GND. For at reducere loddeindsatsen skar jeg en kobberbåndsform for at nå alle GND -benene og lodde helt.

Trin 11: Tilslut Vcc Pins

Tilslut Vcc Pins
Tilslut Vcc Pins

Der kræves 2 stifter til tilslutning til Vcc, LCD -strøm og LED -strøm. Ifølge databladet kan LCD -strøm direkte tilsluttes til dev board 3,3 V pin, men LED -strøm fungerer lidt lavere end 3,3 V. Så det er bedre at tilføje en SMD -modstand i midten, f.eks. 12 Ohm modstand.

Trin 12: Tilslut LCD & Dev Board Support

Tilslut LCD & Dev Board Support
Tilslut LCD & Dev Board Support

brug tape tilslut LCD -understøttelse og dev -kortstøtte sammen. Begge understøtninger bør reservere omkring 5 mm hul til foldning.

Trin 13: Tilslut SPI -pins

Tilslut SPI -pins
Tilslut SPI -pins

Her er forbindelsesoversigten:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> ikke tilsluttet Vcc -> 3,3 V LED+ -> 12 Ohm modstand -> 3,3 V LED - -> GND

Trin 14: Flash -program

Flash -program
Flash -program
Flash -program
Flash -program
Flash -program
Flash -program
Flash -program
Flash -program
  1. Download kildekoden på GitHub:
  2. Kør "make menuconfig" under kildekodemappen
  3. Vælg "Nofrendo ESP32-specifik konfiguration"
  4. Vælg "Hardware, der skal køre på" -> "Brugerdefineret hardware"
  5. Vælg "LCD Type" -> "ST7789V LCD"
  6. Fyldstiftindstillinger: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Baggrundslys -> -1, IPS -> Y
  7. Afslut og gem
  8. Kør "make -j5 flash"
  9. Kør "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Trin 15: I2C -stik

I2C -stik
I2C -stik
I2C -stik
I2C -stik
I2C -stik
I2C -stik

Udbrud I2C benene, ESP32 standard I2C ben er:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (ingen 5 V strøm, mens den drives af Lipo -batteri) Pin 4 (GND) -> GND

Trin 16: Montering Del 1

Image
Image

Følg videotrinene for at folde og klemme alle delene ind i etuiet.

Trin 17: Prototype I2C gamepad

Prototype I2C gamepad
Prototype I2C gamepad
Prototype I2C gamepad
Prototype I2C gamepad

Programmet til I2C Gamepad er meget enkelt, kun 15 linjer kode. Men det er lidt svært at omprogrammere ATtiny861 efter lodning, så det er bedre at teste det på brødbrættet først.

Download, kompil og flash programmet fra GitHub:

Trin 18: Byg I2C gamepad

Byg I2C gamepad
Byg I2C gamepad
Byg I2C gamepad
Byg I2C gamepad
Byg I2C gamepad
Byg I2C gamepad

Her er forbindelsesoversigten:

ATtiny861 -knap

GND -> Alle knapper en pin Pin 20 (PA0) -> Up button Pin 19 (PA1) -> Down button Pin 18 (PA2) -> Venstre knap Pin 17 (PA3) -> Højre knap Pin 14 (PA4) -> Vælg knap Pin 13 (PA5) -> Startknap Pin 12 (PA6) -> A -knap Pin 11 (PA7) -> B -knap Pin 6 (GND) -> I2C han -pin -pin -pin 4 Pin 5 (Vcc) -> I2C han pin pin header pin 3 Pin 3 (SCL) -> I2C male pin header pin 1 Pin 1 (SDA) -> I2C male pin header pin 2

Trin 19: Montering Del 2

Image
Image
Valgfrit: Audio Breakout Pins
Valgfrit: Audio Breakout Pins

Følg videotrinene for at installere coveret og I2C gamepad på hoveddelen.

Trin 20: Valgfrit: Audio Breakout Pins

Image
Image
Valgfrit: Audio Breakout Pins
Valgfrit: Audio Breakout Pins

ESP32 dev board Pin 25 og 26 udsender det analoge lydsignal, det er meget let at bryde disse 2 pins og også power pins (3,3 V og GND) på toppen. Derefter kan du lappe en øretelefon for at tilslutte den. Eller endda kan du tilføje et lydforstærkermodul med højttaler for at afspille det højt.

Trin 21: Hvad er det næste?

Hvad er det næste?
Hvad er det næste?

NES -emulator er ikke den eneste interessante ting, du kan lave med ESP32. F.eks. du kan bygge en mikro python -konsol med den. Den eneste komponent, du skal ændre, er fra I2C gamepad til I2C tastatur. Jeg tror, det ikke er så svært at lave det med en ATtiny88 controller. Du kan følge min twitter for at se status.

Anbefalede: