Мазмуну:

ESP32 VGA Аркада оюндары жана джойстик: 6 кадам (сүрөттөр менен)
ESP32 VGA Аркада оюндары жана джойстик: 6 кадам (сүрөттөр менен)

Video: ESP32 VGA Аркада оюндары жана джойстик: 6 кадам (сүрөттөр менен)

Video: ESP32 VGA Аркада оюндары жана джойстик: 6 кадам (сүрөттөр менен)
Video: Вывод изображения с Arduino и ESP32 на монитор 2024, Июль
Anonim
Image
Image
ESP32 VGA Аркада оюндары жана джойстик
ESP32 VGA Аркада оюндары жана джойстик
ESP32 VGA Аркада оюндары жана джойстик
ESP32 VGA Аркада оюндары жана джойстик

Бул көрсөтмөдө мен VGA мониторунун чыгышы менен ESP32ди колдонуп, төрт аркада оюнун кантип кайра чыгарууну көрсөтөм - Tetris - Snake - Breakout - Bomber.

Чечимдүүлүгү 320 х 200 пиксел, 8 түстө. Мен мурун Arduino Uno менен бир версия жасаганмын (бул жерден караңыз), бирок токтому болгону 120 x 60 пиксел, 4 түстүү жана Arduino эс тутуму дээрлик толуп калган. ESP32дин чоң көрсөткүчтөрүнүн аркасында чечим жана ойноо жөндөмү жогору. Мындан тышкары, дагы деле көп эстутум бар, ошондуктан келечекте жаңы оюндарды кошуу оңой болот.

Мен RS232 кабели аркылуу жөнөкөй джойстикти туташтыруу үчүн ысык көрсөтөм. Мен Commodore 64 бир эле пинту колдонуп жатам.

Бул долбоор Fabrizio Di Vittorio тарабынан жазылган кереметтүү ESP32 VGA китепканасы аркылуу мүмкүн болду. Көбүрөөк маалымат алуу үчүн бул жерди караңыз.

1 -кадам: ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы

ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы
ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы
ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы
ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы
ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы
ESP32 такталары, Arduino IDE орнотуусу жана VGA китепканасынын конфигурациясы

Биринчиден, сиз ESP32 версиясын 1 же андан жогору сатып алышыңыз керек. Жеткиликтүү көптөгөн версиялар бар, бирок мен көп казык менен бирин тандап алууну сунуштайм, бул сүрөттөгүдөй моделди 38 казык менен. Мен бул версияны колдонуп жатам, бирок менин оюмча башка көптөгөн нерселер жакшы. Ebayде сиз бул моделди 7 евродон төмөн, анын ичинде жеткирүүнү таба аласыз.

Такта алгандан кийин, төмөнкү үч суб-кадам менен улантууңуз керек:

  1. Акыркы Arduino IDE орнотуу
  2. IDEде ESP32ди конфигурациялоо жана
  3. VGA китепканасын жүктөп алып, орнотуңуз

Sub-кадам 1. ESP32ди программалоонун ар кандай ыкмалары бар, бирок бул жерде сиз Arduino IDEди колдонушуңуз керек (мен 1.8.9 версиясын колдонуп жатам). Аны орнотуу үчүн, Arduino IDE барагына өтүп, нускамаларды аткарсаңыз болот.

Sub-кадам 2. Мурунку операция бүткөндөн кийин, сиз Arduino IDE ичинде ESP32 конфигурациялашыңыз керек. Бул анча деле маанилүү эмес, анткени ESP32 анын ичинде эмес (азырынча?). Сиз бул үйрөткүчтү же төмөнкү кадамдарды аткарсаңыз болот.

1) Arduino IDE ачыңыз

2) артыкчылыктар терезесин ачыңыз, Файл/Тандоо, же "Ctrl+үтүр" баскычын басыңыз

3) "Кошумча башкармалыктын менеджерлеринин URL'дерине" өтүңүз, төмөнкү текстти көчүрүп чаптаңыз:

https://dl.espressif.com/dl/package_esp32_index.js…

жана OK баскычын чыкылдатыңыз.

4) Ачык такталардын менеджери. Куралдар/Такта/Такта менеджерине өтүңүз …

5) ESP32 издеп, "ESP32 by Espressif Systems" үчүн орнотуу баскычын басыңыз:

6) Бул жерде, сиз ESP32ди биринчи жолу туташтырганда, жеткиликтүү ESP32 такталарынын узун тизмесинен туура моделди тандооңуз керек (бул кадамдагы сүрөттү караңыз). Моделге шектенүү пайда болгондо, жалпы бирин тандаңыз, б.а. биринчиси. Бул мен үчүн иштейт.

7) система ошондой эле туура USB (COM) портун жана Жүктөө ылдамдыгын (адатта 921600) тандашы керек. Бул жерде сиздин компьютериңиз менен ESP32 тактасынын ортосундагы байланыш орнотулушу керек.

Sub-кадам 3. Акырында сиз FabGL VGA китепканасын орнотушуңуз керек. Толук кысылган файлды жүктөө үчүн бул жерди басыңыз. Аны ачпаңыз жана пайда болгон папканы (FabGL-master) Arduino IDE китепканаларынын папкасына көчүрүңүз, ал окшош:

"… / arduino-1.8.12 / китепканалары".

2 -кадам: "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0" жүктөө

Бул кадамдын аягында ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip жүктөп алыңыз. Арзып, аны Arduino IDE менен ачыңыз, андан кийин аны ESP32ге жүктөңүз. Эгерде сизде ката билдирүүлөрү жок болсо, анда код иштей баштайт жана VGA портун жана баскычтарын (же джойстикти) туташтыруу керек.

3 -кадам: VGA портун туташтыруу

VGA портун туташтыруу
VGA портун туташтыруу

Сизге төмөнкү бөлүктөр керек:

  • DSUB15 туташтыргычы, башкача айтканда, VGA аял коннектору же VGA кабели кесилет.
  • үч 270 Ом каршылыгы.

ESP32 GPIO pin 2, 15 жана 21ди VGA Кызыл, Жашыл жана Көккө 270 Ом резисторлору аркылуу туташтырыңыз.

VGA Hsync жана Vsync'ти тиешелүү түрдө ESP32 GPIO 17 жана 4 туташтыргычтарына туташтырыңыз.

DSUB15 коннекторлорунун 5, 6, 7, 8 жана 10 пиндерин ESP32 GNDге туташтырыңыз.

VGA DSUB15 туташтыргыч пин аныктамасы үчүн, бул кадамдагы сүрөттү караңыз. NB, бул аял коннекторунун ширетүүчү жагы.

4 -кадам: Төрт баскычты туташтырыңыз

Төрт баскычты туташтырыңыз
Төрт баскычты туташтырыңыз
Төрт баскычты туташтырыңыз
Төрт баскычты туташтырыңыз
Төрт баскычты туташтырыңыз
Төрт баскычты туташтырыңыз

Эгерде сизде C64 джойстиги жок болсо, анда сиз бул баскычтан кийин төрт баскычты туташтыра аласыз. Эгерде сизде джойстик болсо, анда бул кадамды өткөрүп жиберип, кийинки кадамга өтсөңүз болот, бирок сиз баары бир баскычтарды жана джойстикти туташтырсаңыз болот (алар баары бир "параллелдүү").

Бул кадамдын схемасы +5Vдан ESP32 берилген пинге бир баскычты (Адатта Ачык) кантип туташтырууну көрсөтөт.

Белгилей кетүүчү нерсе, ESP берилген пинди GND 1-5 кОмдук резистор аркылуу туташтыруу керек. Ошентип, баскыч бошотулганда (ачык) ESP пин так нөл Вольтто болот. Тагыраак айтканда, төмөнкү баскыч менен төрт баскычты туташтыруу керек:

  • Оң баскычка 12 -кнопка
  • 25 -кнопканы өйдө коюу баскычы
  • 14 баскычын Сол баскычка кадаңыз
  • Төмөнкү баскычка 35 -пин

5 -кадам: Джойстикти туташтырыңыз

Джойстикти туташтырыңыз
Джойстикти туташтырыңыз
Джойстикти туташтырыңыз
Джойстикти туташтырыңыз
Джойстикти туташтырыңыз
Джойстикти туташтырыңыз

C64 джойстикинде бул кадамдын биринчи сүрөтүндө көрсөтүлгөн пинут бар. Аны ESP32ге туташтыруу үчүн, экинчи сүрөттө көрсөтүлгөндөй, 9 пиндүү DSUB эркек туташтыргычы (башкача айтканда, розетка) керек. Мен эски электрондук тактадан ачык пиндери бар бирин алып салдым. Аны алып салуу үчүн ысык мылтыкты колдонсоңуз болот (бирок сыртта жасаңыз!).

Бул сүрөттөрдөгү сан тартибине ылайык казыктарды туташтыруу керек. Белгилей кетсек, схема джойстик тарапты билдирет, андыктан ал аялдын сайгычынын туташуусун билдирет. ESP32ге туташуу үчүн розетка (эркек) "күзгү" мааниге ээ болгон казыктарга ээ. Күмөн санаганда, пин номери үчүнчү сүрөттө көрсөтүлгөндөй, дайыма эркек жана ургаачы бириктиргичтерде жазылганын унутпаңыз.

Эгерде сиз оюндарды джойстик менен гана башкаргыңыз келсе, анын жалпы пинин (9) ESP32 +5V менен, жана джойстиктин 1, 2, 3, 4 жана 6 пиндерин төмөнкү тизмеден кийинки ESP берилген казыктарга туташтырыңыз.

  • ESP пин 12 оң баскычка (RS232 пин 4)
  • ESP пин 14 сол баскычка (RS232 пин 3)
  • ESP pin 35 ылдый баскычы (RS232 пин 2)
  • ESP пин 25 өйдө баскычы (RS232 пин 1 жана 6, б.а. джойстик от)

NB ESP 12, 14, 25 жана 35 тешиктери GND 1-5 кОм резистор аркылуу туташтырылышы керек. Ошентип, баскыч бошотулганда (ачык) ESP пин так нөл Вольтто болот.

NB2 джойстиктин UP абалы жана өрт баскычы ESP пин 25 менен биригет

Мен компьютердин тактасындагы төрт баскычты туташтырдым, мындай жол менен джойстиктин кереги жок (джойстик менен болсо алда канча күлкүлүү). Дагы, RS232 пин 9 +5 V туташтырылышы керек жана джойстиктин казыктары жөн эле баскычтарга параллель.

6 -кадам: Жыйынтык жана таануу

Корутунду жана таануу
Корутунду жана таануу

Эгерде баары туура иштесе, жөн гана VGA мониторун туташтырыңыз жана эски стилдеги оюндан ырахат ала аласыз!

Сиз ошондой эле VGA китепканасынын мүмкүнчүлүктөрүн текшерүү үчүн, 640 x 350 пиксел токтому бар Mandelbrot топтомун тарта аласыз.

Көңүл буруңуз, код келечекте башка оюндарды оңой кошо турган жол менен жазылган (ESP32 мейкиндиги көп!). Мен бул долбоорго кызыкдар болсом, мен муну кыла алам…

Акырында, мен танктарымды Fabrizio Di Vittorioго анын сонун ESP32 VGA китепканасы үчүн билдиргим келет. Көбүрөөк маалымат, мисалдар жана… Space Invaders үчүн, анын сайтына баш багыңыз.

Сунушталууда: