Orodha ya maudhui:

Dashibodi ya Mchezo wa Mkononi ya ESP32: Hatua 21 (na Picha)
Dashibodi ya Mchezo wa Mkononi ya ESP32: Hatua 21 (na Picha)

Video: Dashibodi ya Mchezo wa Mkononi ya ESP32: Hatua 21 (na Picha)

Video: Dashibodi ya Mchezo wa Mkononi ya ESP32: Hatua 21 (na Picha)
Video: How to get 5V from 18650 Lithium Battery Powering Arduino ESP32 ESP8266 or charge your phone 2024, Julai
Anonim
Image
Image
Maandalizi ya vifaa
Maandalizi ya vifaa

Mafundisho haya yanaonyesha jinsi ya kutumia ESP32 na ATtiny861 kujenga koni ya mchezo wa emulator ya NES.

Hatua ya 1: Maandalizi ya vifaa

Maandalizi ya vifaa
Maandalizi ya vifaa
Maandalizi ya vifaa
Maandalizi ya vifaa

Bodi ya ESP32 Dev

Wakati huu ninatumia bodi ya TTGO T8 ESP32 dev. Bodi hii imejengwa katika Lipo ya kuchaji na kudhibiti mzunguko, inaweza kusaidia kupunguza vifaa vya ziada.

Onyesha

Wakati huu ninatumia 2.4 IPS LCD. Kidhibiti cha dereva ni ST7789V na azimio ni 320 x 240. Azimio hili linafaa zaidi kwa azimio la NES emulator 252 x 224.

Betri

Wakati huu ninatumia betri ya Lipo 454261. 4.5 mm ni unene wa bodi ya ESP32 dev, na 61 mm ni upana wa bodi.

Bandika kichwa

Pini 4 kichwa cha pini pande zote za kiume na pini 4 kichwa cha pini cha kike cha kuunganisha kwa kuunganisha mchezo wa mchezo wa I2C.

Sahani ya PETG

Sahani ndogo ya PET / PETG ya kusaidia bodi ya dev na betri ya Lipo, unaweza kuipata kwa urahisi katika ufungashaji wa bidhaa.

Multiple Kusudi PCB

2 PCB inahitajika, 1 0.4 mm nene kwa kuunga mkono Uonyesho, 1 1.2 mm nene kwa mchezo wa mchezo wa I2C.

Vifungo

Kitufe cha maelekezo 5, vifungo 2 vidogo vya Chagua na Anza na 2 kwa kitufe cha A na B.

Mdhibiti wa Gamepad wa I2C

Wakati huu ninatumia mdhibiti mdogo wa ATtiny861 kama mtawala wa mchezo wa mchezo wa I2C.

Wengine

Kinga 1 ya SMD 12 Ohm, programu ya ISP (k.v. TinyISP)

Hatua ya 2: Maandalizi ya Programu

Maandalizi ya Programu
Maandalizi ya Programu
Maandalizi ya Programu
Maandalizi ya Programu
Maandalizi ya Programu
Maandalizi ya Programu

Arduino IDE

Pakua na usakinishe Arduino IDE ikiwa bado:

Msaada wa ATTinyCore

Fuata hatua za ufungaji ili kuongeza msaada wa ATTinyCore ikiwa bado:

ESP-IDF

Fuata mwongozo wa kuanza wa ESP-IDF wa kuanzisha mazingira ya maendeleo ikiwa bado:

Hatua ya 3: Uchapishaji wa 3D

Uchapishaji wa 3D
Uchapishaji wa 3D

Pakua na uchapishe kesi hiyo: https://www.thingiverse.com/thing 3591170

Hatua ya 4: Msaada wa LCD

Msaada wa LCD
Msaada wa LCD
Msaada wa LCD
Msaada wa LCD

Kata mashimo 24 x 27 0.4 mm PCB kwa msaada wa LCD. Kumbuka hifadhi nafasi ya kukunja LCD FPC. Kisha tumia mkanda wa kushikamana wa mara mbili kurekebisha LCD kwenye PCB.

Hatua ya 5: Andaa Sahani ya PETG

Andaa Sahani ya PETG
Andaa Sahani ya PETG
Andaa Sahani ya PETG
Andaa Sahani ya PETG

Kata sahani 62 mm x 69 mm ya PETG kwa bodi ya dev na msaada wa betri ya Lipo.

Hatua ya 6: Rekebisha Bodi ya ESP32 Dev

Rekebisha Bodi ya ESP32 Dev
Rekebisha Bodi ya ESP32 Dev

Tumia mkanda wa kushikamana pande mbili kurekebisha bodi ya dev kwenye bamba la PETG.

Hatua ya 7: Rekebisha Lipo Betri

Rekebisha Lipo Betri
Rekebisha Lipo Betri

Tumia mkanda wa kushikamana pande mbili kurekebisha betri ya Lipo badala ya bodi ya dev.

Hatua ya 8: Unganisha Betri na Bodi ya Dev

Unganisha Bodi ya Battery & Dev
Unganisha Bodi ya Battery & Dev

Hatua ya 9: Andaa Pini za Kuonyesha

Andaa Pini za Kuonyesha
Andaa Pini za Kuonyesha

Uonyesho wa LCD una aina nyingi za wauzaji tofauti. Tafadhali pata data sahihi na uisome kabla ya kiraka chochote na unganisho.

Pini zingine zimehifadhiwa kwa jopo la kugusa. Kwa kuwa LCD hii haina paneli ya kugusa, kata tu pini hizo zinaweza kupunguza usumbufu.

Hatua ya 10: Unganisha Pini za GND

Unganisha Pini za GND
Unganisha Pini za GND
Unganisha Pini za GND
Unganisha Pini za GND

Katika hali nyingi, kuna pini chache zinahitaji unganishwa na GND. Ili kupunguza bidii ya kuuza, nilikata umbo la mkanda wa shaba kufikia pini zote za GND na kisha kugeuza kabisa.

Hatua ya 11: Unganisha Pini za Vcc

Unganisha Pini za Vcc
Unganisha Pini za Vcc

Kuna pini 2 zinazohitajika unganisha kwa Vcc, nguvu ya LCD na nguvu ya LED. Kulingana na karatasi ya data, nguvu ya LCD inaweza kuunganishwa moja kwa moja kwenye bodi ya dev 3.3 V pini lakini nguvu ya LED inafanya kazi chini kidogo kuliko 3.3 V. Kwa hivyo ni bora kuongeza kontena la SMD katikati, n.k. Upinzani wa Ohm.

Hatua ya 12: Unganisha Usaidizi wa Bodi ya LCD na Dev

Unganisha Msaada wa Bodi ya LCD na Dev
Unganisha Msaada wa Bodi ya LCD na Dev

tumia mkanda unganisha msaada wa LCD na msaada wa bodi ya dev pamoja. Msaada wote unapaswa kuhifadhi karibu pengo la mm 5 kwa kukunjwa.

Hatua ya 13: Unganisha Pini za SPI

Unganisha Pini za SPI
Unganisha Pini za SPI

Hapa kuna muhtasari wa unganisho:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> haijaunganishwa Vcc -> 3.3 V LED + -> 12 Ohm resistor -> 3.3 V LED - -> GND

Hatua ya 14: Programu ya Flash

Programu ya Flash
Programu ya Flash
Programu ya Flash
Programu ya Flash
Programu ya Flash
Programu ya Flash
Programu ya Flash
Programu ya Flash
  1. Pakua nambari ya chanzo kwenye GitHub:
  2. Chini ya folda ya nambari chanzo, endesha "fanya menuconfig"
  3. Chagua "usanidi maalum wa Nofrendo ESP32"
  4. Chagua "Vifaa vya kuendesha kwenye" -> "Vifaa Maalum"
  5. Chagua "Aina ya LCD" -> "ST7789V LCD"
  6. Jaza mipangilio ya pini: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
  7. Toka na Hifadhi
  8. Endesha "fanya -j5 flash"
  9. Endesha "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"

Hatua ya 15: Kiunganishi cha I2C

Kiunganishi cha I2C
Kiunganishi cha I2C
Kiunganishi cha I2C
Kiunganishi cha I2C
Kiunganishi cha I2C
Kiunganishi cha I2C

Kuvunja pini za I2C, pini chaguomsingi za E232 za I2C ni:

Bandika 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3.3 V (no 5 V power while powered by Lipo battery) Pin 4 (GND) -> GND

Hatua ya 16: Mkutano Sehemu ya 1

Image
Image

Fuata hatua za video ili kukunja na kubana sehemu zote kwenye kesi hiyo.

Hatua ya 17: Mfano wa I2C Gamepad

Mfano I2C Gamepad
Mfano I2C Gamepad
Mfano I2C Gamepad
Mfano I2C Gamepad

Mpango wa I2C Gamepad ni rahisi sana, ni laini 15 tu za nambari. Lakini ni ngumu kidogo kupanga upya ATtiny861 baada ya kuuza, kwa hivyo ni bora kuijaribu kwenye ubao wa mkate kwanza.

Pakua, andika na uangaze programu kutoka GitHub:

Hatua ya 18: Jenga Gamepad ya I2C

Jenga Gamepad ya I2C
Jenga Gamepad ya I2C
Jenga Gamepad ya I2C
Jenga Gamepad ya I2C
Jenga Gamepad ya I2C
Jenga Gamepad ya I2C

Hapa kuna Muhtasari wa unganisho:

Kifungo cha ATTiny861

GND -> Vifungo vyote pini moja ya siri 20 (PA0) -> Kitufe cha Juu Pin 19 (PA1) -> Kitufe cha chini Pini 18 (PA2) -> Kitufe cha kushoto Pin 17 (PA3) -> Kitufe cha kulia Pin 14 (PA4) -> Chagua kitufe cha Pin 13 (PA5) -> Anza kitufe cha Pini 12 (PA6) -> Kitufe cha Pini 11 (PA7) -> B kifungo Pini 6 (GND) -> I2C kiini cha kichwa cha siri siri 4 Pin 5 (Vcc) -> I2C pini ya kiini ya pini 3 pini 3 (SCL) -> I2C siri ya siri ya siri 1 Pin 1 Pin 1 (SDA) -> I2C pin pin header pin 2

Hatua ya 19: Mkutano Sehemu ya 2

Image
Image
Hiari: Pini za Kuzuka kwa Sauti
Hiari: Pini za Kuzuka kwa Sauti

Fuata hatua za video kusanikisha kifuniko na sanduku la mchezo la I2C kwenye mwili kuu.

Hatua ya 20: Hiari: Pini za Kuzuka kwa Sauti

Image
Image
Hiari: Pini za Kuzuka kwa Sauti
Hiari: Pini za Kuzuka kwa Sauti

Bodi ya ESP32 Pin 25 na 26 inatoa ishara ya sauti ya analog, ni rahisi sana kuvunja pini hizi 2 na pia pini za nguvu (3.3 V na GND) juu. Basi unaweza kubandika simu ya masikioni kuziba juu yake. Au hata unaweza kuongeza moduli ya kipaza sauti na spika ili kuicheza kwa sauti.

Hatua ya 21: Ni nini Kinachofuata?

Je! Ni Nini Kinachofuata?
Je! Ni Nini Kinachofuata?

Emulator ya NES sio kitu cha kuvutia tu unachoweza kufanya na ESP32. Mfano. unaweza kujenga koni ndogo ya chatu nayo. Sehemu pekee unayohitaji kubadilisha ni kutoka kwa mchezo wa mchezo wa I2C hadi kibodi ya I2C. Nadhani sio ngumu sana kuifanya na mtawala wa ATtiny88. Unaweza kufuata twitter yangu kuona hali hiyo.

Ilipendekeza: