Мазмұны:

ESP32 портативті ойын консолі: 21 қадам (суреттермен)
ESP32 портативті ойын консолі: 21 қадам (суреттермен)

Бейне: ESP32 портативті ойын консолі: 21 қадам (суреттермен)

Бейне: ESP32 портативті ойын консолі: 21 қадам (суреттермен)
Бейне: 🔊Беспроводная колонка своими руками 2024, Қараша
Anonim
Image
Image
Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау

Бұл нұсқаулықтар NES эмуляторлық ойын консолін құру үшін ESP32 және ATtiny861 қалай қолдануға болатынын көрсетеді.

1 -қадам: аппараттық құралдарды дайындау

Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау
Аппараттық құралдарды дайындау

ESP32 әзірлеуші тақтасы

Бұл жолы мен TTGO T8 ESP32 dev тақтасын қолданамын. Бұл тақтада Lipo зарядтау және реттеу схемасы бар, ол қосымша компоненттерді азайтуға көмектеседі.

Дисплей

Бұл жолы мен 2,4 дюймдік IPS СКД қолданамын. Драйвер контроллері ST7789V, ал ажыратымдылығы 320 x 240. Бұл ажыратымдылық NES эмуляторы үшін 252 x 224 ажыратымдылығына сәйкес келеді.

Батарея

Бұл жолы мен 454261 Lipo батареясын қолданамын. 4,5 мм - ESP32 дев тақтасының қалыңдығы, ал тақтаның ені - 61 мм.

Бекіту тақырыбы

I2C геймпадін қосуға арналған 4 істікшелі дөңгелек түйреуіш пен 4 істікшелі дөңгелек түйреуішті тақырып.

PETG плитасы

Құрылғы тақтасы мен Lipo аккумуляторын қолдауға арналған шағын PET/PETG табақшасы, оны өнімнің қаптамасынан оңай табуға болады.

Көп мақсатты ПХД

2 ПХД қажет, дисплейді қолдау үшін қалыңдығы 1 0,4 мм, I2C геймпад үшін қалыңдығы 1,2 мм.

Түймелер

5 бағыт түймесі, Таңдау және Бастау үшін 2 кішкентай түйме және А мен В түймесі үшін 2.

I2C Gamepad контроллері

Бұл жолы мен ATtiny861 микроконтроллерін I2C геймпад контроллері ретінде қолданамын.

Басқалар

1 SMD 12 Ом резисторы, ISP бағдарламашысы (мысалы, TinyISP)

2 -қадам: бағдарламалық қамтамасыз етуді дайындау

Бағдарламалық қамтамасыз етуді дайындау
Бағдарламалық қамтамасыз етуді дайындау
Бағдарламалық қамтамасыз етуді дайындау
Бағдарламалық қамтамасыз етуді дайындау
Бағдарламалық қамтамасыз етуді дайындау
Бағдарламалық қамтамасыз етуді дайындау

Arduino IDE

Егер жоқ болса, Arduino IDE жүктеп алыңыз және орнатыңыз:

ATTinyCore қолдау

ATTinyCore қолдауын қосу үшін орнату қадамдарын орындаңыз: егер жоқ болса:

ESP-IDF

Әзірше әзірлеу ортасын орнату үшін ESP-IDF іске қосу нұсқаулығын орындаңыз:

3 -қадам: 3D басып шығару

3D басып шығару
3D басып шығару

Корпусты жүктеп алыңыз және басып шығарыңыз:

4 -қадам: СКД қолдау

СКД қолдау
СКД қолдау
СКД қолдау
СКД қолдау

СКД қолдау үшін 24 х 27 тесік 0,4 мм ПХД кесіңіз. Ескерту: LCD FPC жиналатын орын. Содан кейін СКД -ны ПХД -ге бекіту үшін екі жақты жабысқақ таспаны қолданыңыз.

5 -қадам: PETG пластинасын дайындаңыз

PETG пластинасын дайындаңыз
PETG пластинасын дайындаңыз
PETG пластинасын дайындаңыз
PETG пластинасын дайындаңыз

Диск тақтасы мен Lipo батареясын қолдау үшін 62 мм x 69 мм PETG пластинасын кесіңіз.

6 -қадам: ESP32 Dev тақтасын түзетіңіз

ESP32 Dev тақтасын түзетіңіз
ESP32 Dev тақтасын түзетіңіз

PETG тақтасындағы тақтаны бекіту үшін екі жақты жабысқақ таспаны қолданыңыз.

7 -қадам: Lipo батареясын жөндеңіз

Липо батареясын түзетіңіз
Липо батареясын түзетіңіз

Lipo аккумуляторын бекіту үшін екі жақты жабысқақ таспаны қолданыңыз.

8 -қадам: Батарея мен құрылғы тақтасын қосыңыз

Батарея мен құрылғы тақтасын қосыңыз
Батарея мен құрылғы тақтасын қосыңыз

9 -қадам: дисплей түйреуіштерін дайындаңыз

Дисплей түйреуіштерін дайындаңыз
Дисплей түйреуіштерін дайындаңыз

СКД дисплейде әр түрлі жеткізушілерге арналған көптеген нұсқалар бар. Дұрыс деректер парағын алыңыз және кез келген патч пен қосылым алдында оқыңыз.

Кейбір түйреуіштер сенсорлық панель үшін сақталған. Бұл СКД сенсорлық тақтасы жоқ болғандықтан, түйреуіштерді жай ғана кесіп тастау бұзушылықты азайтады.

10 -қадам: GND түйреуіштерін қосыңыз

GND түйреуіштерін қосыңыз
GND түйреуіштерін қосыңыз
GND түйреуіштерін қосыңыз
GND түйреуіштерін қосыңыз

Көп жағдайда GND -ге қосылуды қажет ететін түйреуіштер аз. Дәнекерлеу әрекетін азайту үшін мен GND түйреуіштерінің барлығына жету үшін мыс таспаның пішінін қиып алдым, содан кейін толығымен дәнекерледім.

11 -қадам: Vcc түйреуіштерін қосыңыз

Vcc түйреуіштерін қосыңыз
Vcc түйреуіштерін қосыңыз

Vcc, СКД және жарықдиодты қуатқа қосылатын 2 түйреуіш қажет. Деректер парағына сәйкес, СКД қуаты 3.3 В түйреуішке тікелей қосыла алады, бірақ жарықдиодты қуат 3,3 В -тан сәл төмен жұмыс істейді, сондықтан ортасына SMD резисторын қосқан дұрыс, мысалы. 12 Ом резисторы.

12 -қадам: СКД мен құрылғылар тақтасының қолдауын қосыңыз

СКД мен құрылғы тақтасының қолдауын қосыңыз
СКД мен құрылғы тақтасының қолдауын қосыңыз

СКД тіреуіші мен тақтаның тіреуішін бірге таспалы жалғауды қолданыңыз. Екі тірек те бүктеу үшін шамамен 5 мм бос орын қалдыруы керек.

13 -қадам: SPI түйреуіштерін қосыңыз

SPI түйреуіштерін қосыңыз
SPI түйреуіштерін қосыңыз

Міне қосылымның қысқаша мазмұны:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> жалғанбаған Vcc -> 3,3 В жарық диоды+ -> 12 Ом резисторы -> 3,3 В жарық диоды - -> GND

14 -қадам: Flash бағдарламасы

Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
Flash бағдарламасы
  1. Бастапқы кодты GitHub сайтынан жүктеп алыңыз:
  2. Бастапқы код қалтасында «make menuconfig» іске қосыңыз
  3. «Nofrendo ESP32 арнайы конфигурациясын» таңдаңыз
  4. «Қосылатын жабдықты» -> «Арнайы жабдықты» таңдаңыз.
  5. «СКД түрі» -> «ST7789V СКД» таңдаңыз
  6. Толтыру түйреуішінің параметрлері: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
  7. Шығу және сақтау
  8. «Make -j5 flash» іске қосыңыз
  9. «Sh flashrom.sh PATH_TO_YOUR_ROM_FILE» іске қосыңыз

15 -қадам: I2C қосқышы

I2C қосқышы
I2C қосқышы
I2C қосқышы
I2C қосқышы
I2C қосқышы
I2C қосқышы

I2C түйреуіштері, ESP32 әдепкі I2C түйреуіштері:

1 -түйреуіш (SCL) -> GPIO 22

2 -түйреуіш (SDA) -> GPIO 21 3 -түйреуіш (Vcc) -> 3,3 В (Lipo батареясымен жұмыс істейтін 5 В қуаты жоқ) 4 -ші түйін (GND) -> GND

16 -қадам: Ассамблея 1 -бөлім

Image
Image

Корпустың барлық бөлшектерін бүктеу және қысу үшін бейне қадамдарын орындаңыз.

17 -қадам: I2C геймпадының прототипі

I2C геймпадының прототипі
I2C геймпадының прототипі
I2C геймпадының прототипі
I2C геймпадының прототипі

I2C Gamepad бағдарламасы өте қарапайым, тек 15 жол код. Бірақ дәнекерлегеннен кейін ATtiny861 -ді қайта бағдарламалау сәл қиын, сондықтан оны алдымен тақтада сынап көрген дұрыс.

GitHub -дан бағдарламаны жүктеңіз, құрастырыңыз және жарқылдатыңыз:

18 -қадам: I2C геймпадын жасаңыз

I2C геймпадын жасаңыз
I2C геймпадын жасаңыз
I2C геймпадын жасаңыз
I2C геймпадын жасаңыз
I2C геймпадын жасаңыз
I2C геймпадын жасаңыз

Міне байланыстың қысқаша мазмұны:

ATtiny861 түймесі

GND -> Барлық түймелер бір істікшелі түйреуіш 20 (PA0) -> жоғары түйреуіш түйреуіш 19 (PA1) -> төменгі түйреуіш түйреуіш 18 (PA2) -> түйме түйреуіш 17 (PA3) -> түйреуіш оң жақ түйреуіш 14 (PA4) -> Pin 13 (PA5) -> Іске қосу түймесі 12 (PA6) -> A түйреуішінің түйрегіші 11 (PA7) -> В түймесінің түйрегішінің 6 (GND) -> I2C аталық түйреуіштің түйреуішінің 4 түйрегіші 5 (Vcc) -> I2C 3 түйреуішті түйреуіш 3 түйреуіш 3 (SCL) -> I2C аталық түйреуіш түйреуіш 1 түйреуіш 1 (SDA) -> I2C аталық түйреуіш түйреуіш 2

19 -қадам: Ассамблея 2 -бөлім

Image
Image
Қосымша: Аудио үзу түйреуіштері
Қосымша: Аудио үзу түйреуіштері

Қақпақ пен I2C геймпадын негізгі корпусқа орнату үшін бейне қадамдарды орындаңыз.

20 -қадам: Қосымша: Аудио үзу түйреуіштері

Image
Image
Қосымша: Аудио үзу түйреуіштері
Қосымша: Аудио үзу түйреуіштері

Pin 25 және 26 ESP32 дев тақтасы аналогты аудио сигналды шығарады, осы екі түйреуішті, сонымен қатар үстіңгі жағындағы қуат түйреуіштерін (3.3 В және GND) ажырату өте оңай. Содан кейін құлаққапты қосуға болады. Немесе дыбысты күшейту үшін динамикпен дыбыс күшейткіш модулін қосуға болады.

21 -қадам: Енді не болады?

Келесі не?
Келесі не?

NES эмуляторы - бұл ESP32 көмегімен жасауға болатын жалғыз қызықты нәрсе емес. Мысалы, сіз онымен микро питон консолін құра аласыз. Жалғыз компонент - бұл I2C геймпадынан I2C пернетақтасына дейін. Менің ойымша, оны ATtiny88 контроллерімен жасау қиын емес. Сіз менің Twitter -ге кіріп, күйді көре аласыз.

Ұсынылған: