INHOUDSOPGAWE:
- Stap 1: Voorbereiding van hardeware
- Stap 2: Voorbereiding van sagteware
- Stap 3: 3D -drukwerk
- Stap 4: LCD -ondersteuning
- Stap 5: Berei PETG -bord voor
- Stap 6: Los ESP32 Dev Board op
- Stap 7: Maak die Lipo -battery reg
- Stap 8: Koppel die battery- en ontwikkelbord aan
- Stap 9: Berei skermpenne voor
- Stap 10: Koppel GND Pins
- Stap 11: Koppel Vcc -penne aan
- Stap 12: Koppel LCD- en Dev Board -ondersteuning
- Stap 13: Koppel SPI -penne
- Stap 14: Flash -program
- Stap 15: I2C -aansluiting
- Stap 16: Vergadering Deel 1
- Stap 17: prototipe I2C gamepad
- Stap 18: Bou I2C Gamepad
- Stap 19: Vergadering Deel 2
- Stap 20: Opsioneel: Audio Breakout Pins
- Stap 21: Wat is volgende?
Video: ESP32 Handheld -spelkonsole: 21 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Hierdie instruksies wys hoe u 'n ESP32 en ATtiny861 kan gebruik om 'n NES -emulator -spelkonsole te bou.
Stap 1: Voorbereiding van hardeware
ESP32 Dev Board
Hierdie keer gebruik ek 'n TTGO T8 ESP32 dev -bord. Hierdie bord het 'n ingeboude Lipo-laai- en reguleringskring, dit kan help om die ekstra komponente te verminder.
Vertoon
Hierdie keer gebruik ek 'n 2.4 IPS LCD. Die bestuurderbeheerder is ST7789V en die resolusie is 320 x 240. Hierdie resolusie pas die beste by die NES -emulator van 252 x 224.
Battery
Hierdie keer gebruik ek 'n 454261 Lipo -battery. 4,5 mm is die dikte van die ESP32 dev board, en 61 mm is die breedte van die board.
Speldopskrif
'N 4 -pins manlike ronde penkop en 'n 4 -pins vroulike ronde penkop om 'n I2C -gamepad aan te sluit.
PETG -plaat
'N Klein PET/PETG -bordjie vir die ondersteuning van die dev board en Lipo -battery, kan u dit maklik in die verpakking van die produk vind.
PCB vir veelvuldige doeleindes
2 PCB benodig, 1 0,4 mm dik om die skerm te ondersteun, 1 1,2 mm dik vir 'n I2C -gamepad.
Knoppies
'N Knoppie met 5 rigtings, 2 klein knoppies vir Select en Start en 2 vir A en B knoppie.
I2C Gamepad -beheerder
Hierdie keer gebruik ek 'n ATtiny861 -mikrokontroleerder as 'n I2C -gamepad -kontroleerder.
Ander
1 SMD 12 Ohm weerstand, 'n ISP programmeerder (bv. TinyISP)
Stap 2: Voorbereiding van sagteware
Arduino IDE
Laai en installeer Arduino IDE indien nog nie:
Ondersteuning van ATTinyCore
Volg die installeringstappe om ATTinyCore -ondersteuning by te voeg, indien nog nie:
ESP-IDF
Volg die ESP-IDF-aanwysingsgids om die ontwikkelingsomgewing op te stel indien nog nie:
Stap 3: 3D -drukwerk
Laai die saak af en druk dit af:
Stap 4: LCD -ondersteuning
Sny 'n 0,4 mm -printplaat van 24 x 27 gate vir LCD -ondersteuning. Onthou, bespreek 'n bietjie ruimte vir die vou van LCD FPC. Gebruik dan 'n kleeflint aan die dubbelkant om die LCD op die printplaat vas te maak.
Stap 5: Berei PETG -bord voor
Knip 'n PETG -plaat van 62 mm x 69 mm uit vir 'n dev board en Lipo -batteryondersteuning.
Stap 6: Los ESP32 Dev Board op
Gebruik kleefband met dubbel sy om die bord op die PETG -plaat vas te maak.
Stap 7: Maak die Lipo -battery reg
Gebruik kleeflint aan die dubbelkant om die Lipo -battery vas te maak, behalwe die toestelbord.
Stap 8: Koppel die battery- en ontwikkelbord aan
Stap 9: Berei skermpenne voor
LCD -skerms het baie variasies van verskillende verskaffers. Kry die korrekte datablad en lees dit voor enige pleister en verbinding.
Sommige penne is gereserveer vir aanraakpaneel. Aangesien hierdie LCD nie 'n aanraakpaneel het nie, kan u net die penne uitknip om die versteuring te verminder.
Stap 10: Koppel GND Pins
In die meeste gevalle is daar min penne wat aan GND gekoppel moet word. Om die soldeerkrag te verminder, sny ek 'n koperbandvorm om al die GND -penne te bereik en dan heeltemal te soldeer.
Stap 11: Koppel Vcc -penne aan
Daar is 2 penne nodig om aan te sluit op Vcc, LCD -krag en LED -krag. Volgens die gegewensblad kan die LCD -krag direk met die 3,3 V -pen op die dev board gekoppel word, maar die LED -krag werk 'n bietjie laer as 3,3 V. Dit is dus beter om 'n SMD -weerstand in die middel by te voeg, bv. 12 Ohm weerstand.
Stap 12: Koppel LCD- en Dev Board -ondersteuning
gebruik band, verbind LCD -ondersteuning en ondersteuning vir dev -bord saam. Beide steun moet 'n gaping van ongeveer 5 mm hê om te vou.
Stap 13: Koppel SPI -penne
Hier is die verbindingopsomming:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> nie gekoppel Vcc -> 3.3 V LED+ -> 12 Ohm weerstand -> 3.3 V LED - -> GND
Stap 14: Flash -program
- Laai die bronkode af by GitHub:
- Onder die bronkode -gids, voer 'maak menuconfig' uit
- Kies 'Nofrendo ESP32-spesifieke opset'
- Kies "Hardware om op te werk" -> "Aangepaste hardeware"
- Kies "LCD -tipe" -> "ST7789V LCD"
- Vulpeninstellings: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Agtergrond -> -1, IPS -> Y
- Verlaat en stoor
- Begin "maak -j5 flits"
- Begin "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Stap 15: I2C -aansluiting
Deur die I2C -penne te breek, is ESP32 se standaard I2C -penne:
Speld 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (geen 5 V -krag terwyl dit deur die Lipo -battery aangedryf word) Pin 4 (GND) -> GND
Stap 16: Vergadering Deel 1
Volg die videostappe om al die dele in die omhulsel te vou en te druk.
Stap 17: prototipe I2C gamepad
Die program vir die I2C Gamepad is baie eenvoudig, slegs 15 reëls kode. Maar dit is 'n bietjie moeilik om die ATtiny861 te herprogrammeer nadat dit gesoldeer is, dus dit is beter om dit eers op die broodbord te toets.
Laai die program af, stel dit op en flits dit vanaf GitHub:
Stap 18: Bou I2C Gamepad
Hier is die verbandopsomming:
ATtiny861 -knoppie
GND -> Alle knoppies een pen Pin 20 (PA0) -> Up knoppie Pin 19 (PA1) -> Down knoppie Pin 18 (PA2) -> Linker knoppie Pin 17 (PA3) -> Regter knoppie Pin 14 (PA4) -> Kies knoppie Pin 13 (PA5) -> Start knoppie Pin 12 (PA6) -> A knoppie Pin 11 (PA7) -> B knoppie Pin 6 (GND) -> I2C male pin header pin 4 Pin 5 (Vcc) -> I2C pen pen kop 3 pen 3 pen 3 (SCL) -> I2C pen pen kop 1 pen 1 (SDA) -> I2C pen pen kop 2
Stap 19: Vergadering Deel 2
Volg die videostappe om die omslag en die I2C -gamepad aan die hoofliggaam te installeer.
Stap 20: Opsioneel: Audio Breakout Pins
ESP32 dev board Pin 25 en 26 lewer die analoog klanksignaal uit; dit is baie maklik om hierdie twee penne en ook kragpenne (3.3 V en GND) aan die bokant uit te breek. Dan kan u 'n koptelefoon plak om dit aan te sluit. Of selfs u kan 'n klankversterkermodule met luidspreker byvoeg om dit hard te speel.
Stap 21: Wat is volgende?
NES -emulator is nie die enigste interessante ding wat u met ESP32 kan maak nie. Bv. u kan 'n mikro -luislangkonsole daarmee bou. Die enigste komponent wat u moet verander, is van I2C gamepad na I2C -sleutelbord. Ek dink dit is nie so moeilik om dit met 'n ATtiny88 -beheerder te maak nie. U kan my twitter volg om die status te sien.
Aanbeveel:
MutantC_v2 - 'n Maklik om te bou Raspberry Pi Handheld/UMPC: 8 stappe (met foto's)
MutantC_v2 - 'n Maklik om te bou Raspberry Pi Handheld/UMPC: 'n Raspberry -pi -draagbare platform met 'n fisiese sleutelbord, 'n skerm en 'n uitbreidingskop vir pasgemaakte borde (soos Arduino Shield) .mutantC_V2 is die opvolger van mutantC_V1. Kyk hier na mutantC_V1.https: //mutantc.gitlab.io/https: //gitlab.com/mutant
GamePi - die handheld -emulator -konsole: 17 stappe (met foto's)
GamePi - die handheld -emulator -konsole: inleiding: hierdie instruksies beskryf die bou van 'n Raspberry Pi 3 -aangedrewe handheld -emulasie -konsole - ek het dit GamePi gedoop. Daar is baie soortgelyke instruksies vir sulke toestelle, maar vir my smaak is die meeste óf te groot, te klein, te
Handheld 6 noot musiekboks / instrument (maklik om te maak en te verbeter!): 5 stappe (met foto's)
Handheld 6 note musiekboks / instrument (maklik om te maak en te verbeter!): Hallo daar! Geïnspireer deur Martin Molin, lid van 'n Sweedse orkes genaamd Wintergatan, het ek onlangs verlief geraak op musiekkaste en alles daaroor. Mense wat liedjies vir musiekbakke maak, gebruik nog steeds die outydse manier om die liedjie nie te slaan nie
Uitbreidbare handheld Gimbal vir GoPro/SJ4000/Xiaomi Yi/iLook: 9 stappe (met foto's)
Uitbreidbare handgimbal vir GoPro/SJ4000/Xiaomi Yi/iLook: hierdie tutoriaal sal u lei hoe u 'n selfiestok en 'n 2D -gimbal kan hack om 'n uitrekbare handgreep te maak wat kameras soos GoPro SJ4000/5000/6000 Xiaomi Yi Walkera iLook kan monteer. 'N Gimbal is 'n stabiliseringsmeganisme wat
Handheld Arduino Pong -konsole: 6 stappe (met foto's)
Handheld Arduino Pong -konsole: DFRobot het onlangs na my uitgekom en wou hê ek moes hul spesiale Arduino Nano -bord en OLED gebruik. Ek wou eers 'n slim fiets skep, en ek het dit in sy geheel gebou. Maar ongelukkig was die Nano te swak om die massiewe skets te hardloop en te stoor