Innholdsfortegnelse:
- Trinn 1: Forberedelse av maskinvare
- Trinn 2: Forberedelse av programvare
- Trinn 3: 3D -utskrift
- Trinn 4: LCD -støtte
- Trinn 5: Forbered PETG -tallerken
- Trinn 6: Fix ESP32 Dev Board
- Trinn 7: Fix Lipo -batteri
- Trinn 8: Koble til batteri- og dev -kortet
- Trinn 9: Forbered displaynålene
- Trinn 10: Koble til GND Pins
- Trinn 11: Koble til Vcc Pins
- Trinn 12: Koble til LCD- og Dev Board -støtte
- Trinn 13: Koble til SPI -pinner
- Trinn 14: Flash -program
- Trinn 15: I2C -kontakt
- Trinn 16: Montering Del 1
- Trinn 17: Prototype I2C gamepad
- Trinn 18: Bygg I2C Gamepad
- Trinn 19: Montering Del 2
- Trinn 20: Valgfritt: Audio Breakout Pins
- Trinn 21: Hva er neste?
Video: ESP32 håndholdt spillkonsoll: 21 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Denne instruksjonene viser hvordan du bruker en ESP32 og ATtiny861 til å bygge en NES -emulator spillkonsoll.
Trinn 1: Forberedelse av maskinvare
ESP32 Dev Board
Denne gangen bruker jeg et TTGO T8 ESP32 dev -kort. Dette brettet har innebygd Lipo lade- og reguleringskrets, det kan bidra til å redusere de ekstra komponentene.
Vise
Denne gangen bruker jeg en 2,4 IPS LCD. Driverkontrolleren er ST7789V og oppløsningen er 320 x 240. Denne oppløsningen passer best for NES emulator 252 x 224 oppløsning.
Batteri
Denne gangen bruker jeg et 454261 Lipo -batteri. 4,5 mm er tykkelsen på ESP32 dev -brettet, og 61 mm er bredden på brettet.
Pin Header
En 4 -pins mannlig rundpinneoverskrift og en 4 -pins kvinnelig rundpinneoverskrift for tilkobling av I2C -gamepad.
PETG -plate
En liten PET/PETG -plate for å støtte dev -brettet og Lipo -batteriet, du finner det enkelt i produktemballasje.
PCB med flere formål
2 PCB kreves, 1 0,4 mm tykk for å støtte skjermen, 1 1,2 mm tykk for en I2C gamepad.
Knapper
En knapp for 5 retninger, 2 små knapper for Select og Start og 2 for A og B -knapp.
I2C gamepad -kontroller
Denne gangen bruker jeg en ATtiny861 mikrokontroller som en I2C gamepad -kontroller.
Andre
1 SMD 12 Ohm motstand, en ISP programmerer (f.eks. TinyISP)
Trinn 2: Forberedelse av programvare
Arduino IDE
Last ned og installer Arduino IDE hvis ikke ennå:
ATTinyCore -støtte
Følg installasjonstrinnene for å legge til ATTinyCore -støtte hvis ikke ennå:
ESP-IDF
Følg ESP-IDF startguide for å sette opp utviklingsmiljøet hvis ikke ennå:
Trinn 3: 3D -utskrift
Last ned og skriv ut saken:
Trinn 4: LCD -støtte
Klipp en 24 x 27 hulls 0,4 mm PCB for LCD -støtte. Husk å reservere plass for sammenleggbar LCD FPC. Fest deretter LCD -skjermen på kretskortet med tape med dobbeltsidig tape.
Trinn 5: Forbered PETG -tallerken
Klipp ut en 62 mm x 69 mm PETG -plate for dev board og Lipo batteristøtte.
Trinn 6: Fix ESP32 Dev Board
Bruk dobbeltsidig tape for å fikse dev -brettet på PETG -platen.
Trinn 7: Fix Lipo -batteri
Bruk dobbeltsidig tape for å fikse Lipo -batteriet i tillegg til dev -kortet.
Trinn 8: Koble til batteri- og dev -kortet
Trinn 9: Forbered displaynålene
LCD -skjerm har mange varianter fra forskjellige leverandører. Vennligst skaff det riktige databladet og les det før du oppdaterer og kobler til.
Noen pins er forbeholdt berøringspanel. Siden denne LCD -skjermen ikke har berøringspanel, kan du bare kutte ut disse pinnene for å redusere forstyrrelsen.
Trinn 10: Koble til GND Pins
I de fleste tilfeller er det få pinner som krever tilkobling til GND. For å redusere loddeinnsatsen, kuttet jeg en kobberbåndform for å nå alle GND -pinnene og deretter lodde helt.
Trinn 11: Koble til Vcc Pins
Det er 2 pinner som kreves for å koble til Vcc, LCD -strøm og LED -strøm. I henhold til databladet kan LCD -strøm direkte koble til 3,3 V -pin på dev board, men LED -strøm fungerer litt lavere enn 3,3 V. Så det er bedre å legge til en SMD -motstand i midten, f.eks. 12 Ohm motstand.
Trinn 12: Koble til LCD- og Dev Board -støtte
bruk tape connect LCD -støtte og dev -kortstøtte sammen. Begge støttene bør reservere rundt 5 mm mellomrom for bretting.
Trinn 13: Koble til SPI -pinner
Her er tilkoblingssammendraget:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> ikke tilkoblet Vcc -> 3,3 V LED+ -> 12 Ohm motstand -> 3,3 V LED - -> GND
Trinn 14: Flash -program
- Last ned kildekoden på GitHub:
- Kjør "make menuconfig" under kildekodemappen
- Velg "Nofrendo ESP32-spesifikk konfigurasjon"
- Velg "Maskinvare å kjøre på" -> "Egendefinert maskinvare"
- Velg "LCD Type" -> "ST7789V LCD"
- Innstillinger for fyllpinne: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, bakgrunnsbelysning -> -1, IPS -> Y
- Avslutt og lagre
- Kjør "make -j5 flash"
- Kjør "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Trinn 15: I2C -kontakt
Bryter I2C -pinnene, er ESP32 standard I2C -pinner:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (ingen 5 V strøm mens den drives av Lipo -batteri) Pin 4 (GND) -> GND
Trinn 16: Montering Del 1
Følg videotrinnene for å brette og klemme alle delene inn i etuiet.
Trinn 17: Prototype I2C gamepad
Programmet for I2C Gamepad er veldig enkelt, bare 15 linjer med kode. Men det er litt vanskelig å omprogrammere ATtiny861 etter lodding, så det er bedre å teste det på brødbrettet først.
Last ned, kompiler og flash programmet fra GitHub:
Trinn 18: Bygg I2C Gamepad
Her er tilkoblingssammendraget:
ATtiny861 -knapp
GND -> Alle knapper en pinne Pin 20 (PA0) -> Opp knapp Pin 19 (PA1) -> Ned knapp Pin 18 (PA2) -> Venstre knapp Pin 17 (PA3) -> Høyre knapp Pin 14 (PA4) -> Velg knapp Pin 13 (PA5) -> Start -knapp Pin 12 (PA6) -> A -knapp Pin 11 (PA7) -> B -knapp Pin 6 (GND) -> I2C male pin header pin 4 Pin 5 (Vcc) -> I2C pin pin header pin 3 Pin 3 (SCL) -> I2C male pin header pin 1 Pin 1 (SDA) -> I2C male pin header pin 2
Trinn 19: Montering Del 2
Følg videotrinnene for å installere dekselet og I2C gamepad på hoveddelen.
Trinn 20: Valgfritt: Audio Breakout Pins
ESP32 dev board Pin 25 og 26 sender ut det analoge lydsignalet, det er veldig enkelt å bryte disse 2 pinnene og også strømpinnene (3,3 V og GND) på toppen. Deretter kan du lappe en øretelefon for å koble den til. Eller til og med du kan legge til en lydforsterkermodul med høyttaler for å spille den høyt.
Trinn 21: Hva er neste?
NES -emulator er ikke det eneste interessante du kan lage med ESP32. F.eks. du kan bygge en mikro pythonkonsoll med den. Den eneste komponenten du trenger å endre er fra I2C gamepad til I2C tastatur. Jeg tror det ikke er så vanskelig å gjøre det med en ATtiny88 -kontroller. Du kan følge twitteren min for å se statusen.
Anbefalt:
DIY håndholdt spillkonsoll ved bruk av RetroPie: 7 trinn
DIY håndholdt spillkonsoll ved bruk av RetroPie: Se videoen ovenfor for å forstå dette prosjektet bedre. Fint. Det er på tide å komme i gang! Først og fremst skal vi bruke RetroPie. Dette gir oss to alternativer. Hvis vi allerede har installert Raspbian på SD -kortet vårt, kan vi installere RetroP
DIY Raspberry Pi Zero håndholdt spillkonsoll: 6 trinn (med bilder)
DIY Raspberry Pi Zero håndholdt spillkonsoll: I dette prosjektet vil jeg vise deg hvordan jeg brukte en Raspberry Pi Zero, NiMH-batterier, en hjemmelaget beskyttelse mot overladning, en bakre lcd og en lydforsterker for å lage en håndholdt spillkonsoll som kan spille retro spill. La oss komme i gang
Håndholdt spillkonsoll - Arduboy -klon: 6 trinn (med bilder)
Håndholdt spillkonsoll | Arduboy Clone: For noen måneder siden kom jeg over Arduboy som ifølge det offisielle nettstedet er en miniatyr 8-biters spillplattform som gjør det enkelt å lære, dele og spille spill online. Det er en åpen kildekode -plattform. Spillene til Arduboy er laget av brukeren
Håndholdt Recalbox -spillkonsoll ved bruk av 2,2 TFT: 6 trinn
Handheld Recalbox Game Console Using 2.2 TFT: Instruksjoner for DIY av en håndholdt recalbox -spillkonsoll ved bruk av 2,2 "TFT LCD og en Raspberry Pi 0 W og GPIO -knapper. Du kan se denne youtube -videoen for en fullstendig demonstrasjon av trinnene som er involvert: A. Få alle delene. B. Lodd delene sammen
Retro spillkonsoll (N64 Mod) med KODI: 7 trinn (med bilder)
Retro spillkonsoll (N64 Mod) Med KODI: Å spille retro -spill på gamle skolekonsoller er veldig gøy, men å kjøpe de enkelte konsollene og alle spillene som følger med det er for tungvint og dyrt! For ikke å snakke om du er høyskole/universitetsstudent og flytter leilighet før