Turinys:
- 1 žingsnis: aparatinės įrangos paruošimas
- 2 žingsnis: Programinės įrangos paruošimas
- 3 žingsnis: 3D spausdinimas
- 4 žingsnis: LCD palaikymas
- 5 žingsnis: Paruoškite PETG plokštelę
- 6 veiksmas: sutvarkykite ESP32 Dev Board
- 7 žingsnis: sutvarkykite „Lipo“akumuliatorių
- 8 veiksmas: prijunkite akumuliatoriaus ir kūrimo plokštę
- 9 žingsnis: Paruoškite ekrano kaiščius
- 10 veiksmas: prijunkite GND kaiščius
- 11 veiksmas: prijunkite „Vcc“kaiščius
- 12 veiksmas: prijunkite LCD ir kūrėjų plokštės palaikymą
- 13 veiksmas: prijunkite SPI kaiščius
- 14 žingsnis: „Flash“programa
- 15 žingsnis: I2C jungtis
- 16 žingsnis: Surinkimas 1 dalis
- 17 žingsnis: „I2C Gamepad“prototipas
- 18 veiksmas: sukurkite „I2C Gamepad“
- 19 žingsnis: Surinkimas 2 dalis
- 20 veiksmas: pasirinktinai: garso pertraukimo kaiščiai
- 21 žingsnis: kas toliau?
Video: ESP32 rankinė žaidimų konsolė: 21 žingsnis (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šiose instrukcijose parodyta, kaip naudoti ESP32 ir ATtiny861, norint sukurti NES emuliatoriaus žaidimų konsolę.
1 žingsnis: aparatinės įrangos paruošimas
ESP32 kūrėjų lenta
Šį kartą naudoju TTGO T8 ESP32 dev plokštę. Šioje plokštėje yra įmontuota „Lipo“įkrovimo ir reguliavimo grandinė, ji gali padėti sumažinti papildomų komponentų skaičių.
Ekranas
Šį kartą naudoju 2,4 colio IPS LCD ekraną. Vairuotojo valdiklis yra ST7789V, o skiriamoji geba yra 320 x 240. Ši raiška geriausiai tinka 252 x 224 raiškos NES emuliatoriui.
Baterija
Šį kartą naudoju „454261 Lipo“bateriją. 4,5 mm yra ESP32 dev plokštės storis, o 61 mm - plokštės plotis.
Smeigtuko antraštė
4 kontaktų apvalios kaiščio galvutės antraštė ir 4 kaiščių apvalios kaiščio antraštė, skirta prijungti „I2C“žaidimų pultą.
PETG plokštė
Maža PET/PETG plokštė, skirta palaikyti kūrimo plokštę ir „Lipo“akumuliatorių, ją lengvai rasite gaminio pakuotėje.
Daugiafunkcinis PCB
Reikalingi 2 PCB, 1 0,4 mm storio ekranui palaikyti, 1 1,2 mm storio I2C žaidimų pultas.
Mygtukai
5 krypčių mygtukas, 2 maži mygtukai pasirinkimui ir paleidimui ir 2 mygtukai A ir B.
„I2C Gamepad“valdiklis
Šį kartą kaip „I2C“žaidimų plokštės valdiklį naudoju „ATtiny861“mikrovaldiklį.
Kiti
1 SMD 12 omų rezistorius, ISP programuotojas (pvz., „TinyISP“)
2 žingsnis: Programinės įrangos paruošimas
„Arduino IDE“
Atsisiųskite ir įdiekite „Arduino IDE“, jei dar ne:
„ATTinyCore“palaikymas
Jei norite dar pridėti ATTinyCore palaikymą, atlikite diegimo veiksmus:
ESP-IDF
Vadovaukitės ESP-IDF pradžios vadovu, kaip nustatyti kūrimo aplinką, jei dar ne:
3 žingsnis: 3D spausdinimas
Atsisiųskite ir atsispausdinkite dėklą:
4 žingsnis: LCD palaikymas
Iškirpkite 24 x 27 skyles 0,4 mm PCB, kad palaikytumėte LCD. Nepamirškite rezervuoti šiek tiek vietos sulankstomiems LCD FPC. Tada naudokite tam tikrą dvipusę lipnią juostelę, pritvirtindami LCD ant PCB.
5 žingsnis: Paruoškite PETG plokštelę
Iškirpkite 62 mm x 69 mm PETG plokštę, skirtą plokštėms ir „Lipo“baterijų atramoms.
6 veiksmas: sutvarkykite ESP32 Dev Board
Naudokite dvipusę lipnią juostą, kad pritvirtintumėte PETG plokštės plokštę.
7 žingsnis: sutvarkykite „Lipo“akumuliatorių
Naudokite dvipusę lipnią juostelę, kad pritvirtintumėte „Lipo“akumuliatorių šalia kūrimo plokštės.
8 veiksmas: prijunkite akumuliatoriaus ir kūrimo plokštę
9 žingsnis: Paruoškite ekrano kaiščius
LCD ekranas turi daugybę variantų iš skirtingų tiekėjų. Prašome gauti teisingą duomenų lapą ir perskaityti jį prieš bet kokį pleistrą ir prijungimą.
Kai kurie kaiščiai yra skirti jutikliniam skydeliui. Kadangi šis skystųjų kristalų ekranas neturi jutiklinio skydelio, tiesiog iškirskite tuos kaiščius, kad sumažintumėte trikdžius.
10 veiksmas: prijunkite GND kaiščius
Daugeliu atvejų yra keletas kaiščių, kuriuos reikia prijungti prie GND. Norėdami sumažinti litavimo pastangas, aš iškirpiau vario juostos formą, kad pasiekčiau visus GND kaiščius, o tada apskritai lituoti.
11 veiksmas: prijunkite „Vcc“kaiščius
Norint prijungti prie „Vcc“, reikalingi 2 kaiščiai, LCD maitinimas ir LED maitinimas. Pagal duomenų lapą, LCD maitinimas gali būti tiesiogiai prijungtas prie 3,3 V kištuko plokštės, tačiau šviesos diodų galia yra šiek tiek mažesnė nei 3,3 V. Taigi geriau pridėti SMD rezistorių viduryje, pvz. 12 omų rezistorius.
12 veiksmas: prijunkite LCD ir kūrėjų plokštės palaikymą
naudokite juostos prijungimo LCD palaikymą ir kūrėjo plokštės palaikymą. Abi atramos turėtų sulankstyti apie 5 mm tarpą.
13 veiksmas: prijunkite SPI kaiščius
Čia pateikiama ryšio santrauka:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> neprijungtas Vcc -> 3,3 V LED+ -> 12 omų rezistorius -> 3,3 V LED - -> GND
14 žingsnis: „Flash“programa
- Atsisiųskite šaltinio kodą iš „GitHub“:
- Šaltinio kodo aplanke paleiskite „make menuconfig“
- Pasirinkite „Nofrendo ESP32-specific configuration“
- Pasirinkite „Aparatūra, kurią norite paleisti“-> „Tinkinta aparatūra“
- Pasirinkite „LCD tipas“-> „ST7789V LCD“
- Užpildymo kaiščio nustatymai: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, foninis apšvietimas -> -1, IPS -> Y
- Išeiti ir išsaugoti
- Paleiskite „make -j5 flash“
- Vykdykite „sh flashrom.sh PATH_TO_YOUR_ROM_FILE“
15 žingsnis: I2C jungtis
Išardykite I2C kaiščius, numatytieji ESP32 I2C kaiščiai yra:
1 kaištis (SCL) -> GPIO 22
2 kaištis (SDA) -> GPIO 21 kaištis 3 (Vcc) -> 3,3 V (be 5 V galios, kai maitinama iš „Lipo“baterijos) 4 kaištis (GND) -> GND
16 žingsnis: Surinkimas 1 dalis
Vykdykite vaizdo įrašo veiksmus, kad sulankstytumėte ir suspaustumėte visas dalis į dėklą.
17 žingsnis: „I2C Gamepad“prototipas
„I2C Gamepad“programa yra labai paprasta, tik 15 kodo eilučių. Tačiau po litavimo šiek tiek sunku perprogramuoti ATtiny861, todėl geriau pirmiausia išbandyti jį ant duonos lentos.
Atsisiųskite, sukompiliuokite ir paleiskite programą iš „GitHub“:
18 veiksmas: sukurkite „I2C Gamepad“
Čia pateikiama ryšio santrauka:
ATtiny861 mygtukas
GND -> Visi mygtukai vienas smeigtukas Kaištis 20 (PA0) -> Mygtukas aukštyn 19 kaištis (PA1) -> Mygtukas žemyn Kaištis 18 (PA2) -> Kairysis mygtukas 17 kaištis (PA3) -> Dešinysis mygtukas 14 kaištis (PA4) -> Pasirinkite mygtuką „Pin 13“(PA5) -> „Start“mygtukas „Pin 12“(PA6) -> „A“mygtukas „Pin 11“(PA7) -> „B“mygtukas 6 kaištis (GND) -> „I2C“kaiščio antgalio kaištis 4 kaištis 5 (Vcc) -> I2C išorinis kaiščio antgalis 3 kaištis 3 (SCL) -> I2C išorinis kaiščio galvutės kaištis 1 kaištis 1 (SDA) -> I2C kištukinis kaištis
19 žingsnis: Surinkimas 2 dalis
Vykdykite vaizdo įrašo veiksmus, norėdami įdiegti dangtelį ir „I2C“žaidimų plokštę prie pagrindinio korpuso.
20 veiksmas: pasirinktinai: garso pertraukimo kaiščiai
ESP32 dev plokštė 25 ir 26 kaiščiai perduoda analoginį garso signalą, todėl labai lengva atskirti šiuos 2 kaiščius ir maitinimo kaiščius (3,3 V ir GND) viršuje. Tada galite pritvirtinti ausines, kad jas prijungtumėte. Arba netgi galite pridėti garso stiprintuvo modulį su garsiakalbiu, kad galėtumėte jį garsiai paleisti.
21 žingsnis: kas toliau?
NES emuliatorius nėra vienintelis įdomus dalykas, kurį galite padaryti naudodami ESP32. Pvz. su juo galite sukurti mikro python konsolę. Vienintelis komponentas, kurį reikia pakeisti, yra iš „I2C gamepad“į „I2C“klaviatūrą. Manau, kad tai nėra taip sunku padaryti naudojant ATtiny88 valdiklį. Galite sekti mano „Twitter“, kad pamatytumėte būseną.
Rekomenduojamas:
„Pasidaryk pats“rankinė žaidimų konsolė naudojant „RetroPie“: 7 žingsniai
„Pasidaryk pats“rankinių žaidimų konsolė naudojant „RetroPie“: žiūrėkite aukščiau pateiktą vaizdo įrašą, kad geriau suprastumėte šį projektą. Puiku. Atėjo laikas pradėti! Pirmiausia mes naudosime „RetroPie“. Tai mums palieka dvi galimybes. Jei jau įdiegėme „Raspbian“savo SD kortelėje, galime įdiegti „RetroP“
„Pasidaryk pats“Raspberry Pi Zero rankinė žaidimų konsolė: 6 žingsniai (su nuotraukomis)
Pasidaryk pats „Raspberry Pi Zero“rankinė žaidimų konsolė: Šiame projekte aš jums parodysiu, kaip aš panaudojau „Raspberry Pi Zero“, NiMH baterijas, naminę apsaugos nuo perkaitimo grandinę, galinio vaizdo LCD ir garso stiprintuvą, kad sukurtumėte rankinę žaidimų konsolę, kurią galima žaisti retro žaidimai. Pradėkime
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje
Rankinė žaidimų konsolė - „Arduboy Clone“: 6 žingsniai (su nuotraukomis)
Rankinė žaidimų konsolė | „Arduboy Clone“: Prieš keletą mėnesių susidūriau su „Arduboy“, kuri, pasak jos oficialios svetainės, yra miniatiūrinė 8 bitų žaidimų platforma, leidžianti lengvai išmokti, dalytis ir žaisti žaidimus internete. Tai atviro kodo platforma. „Arduboy“žaidimus kuria vartotojas
Rankinė „Recalbox“žaidimų konsolė naudojant 2,2 TFT: 6 žingsniai
Rankinio atkūrimo dėžutės žaidimų konsolė, naudojant 2.2 TFT: rankinio atkūrimo dėžutės žaidimų konsolės „pasidaryk pats“instrukcijos, naudojant 2,2 colio TFT LCD ekraną ir „Raspberry Pi 0 W“ir GPIO mygtukus. Galite peržiūrėti šį „YouTube“vaizdo įrašą, kad pamatytumėte visus susijusius veiksmus: A. Gaukite visas dalis.B. Lituokite dalis kartu