Агуулгын хүснэгт:

ESP32 VGA аркад тоглоом ба тоглоомын тоглоом: 6 алхам (зурагтай)
ESP32 VGA аркад тоглоом ба тоглоомын тоглоом: 6 алхам (зурагтай)

Видео: ESP32 VGA аркад тоглоом ба тоглоомын тоглоом: 6 алхам (зурагтай)

Видео: ESP32 VGA аркад тоглоом ба тоглоомын тоглоом: 6 алхам (зурагтай)
Видео: ESP32 VGA four games & joystick 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 номын санг татаж аваад суулгана уу

Дэд алхам 1. ESP32 програмчлах өөр өөр аргууд байдаг боловч энд та Arduino IDE-ийг ашиглах хэрэгтэй (энэ дашрамд 1.8.9 хувилбарыг ашиглаж байна). Үүнийг суулгахын тулд та Arduino IDE хуудас руу орж зааврыг дагана уу.

Дэд алхам 2. Өмнөх үйлдлийг хийсний дараа та ESP32-ийг Arduino IDE дотор тохируулах хэрэгтэй. 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 хавтангийн хооронд холбоо тогтоох ёстой.

Дэд алхам 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 зүү 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: Жойстикийг холбоно уу

Joystick -ийг холбоно уу
Joystick -ийг холбоно уу
Joystick -ийг холбоно уу
Joystick -ийг холбоно уу
Joystick -ийг холбоно уу
Joystick -ийг холбоно уу

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 joystick UP байрлал ба галын товчлуурыг ESP зүү 25-тэй холбосон болно.

Би компьютерийн самбар дээрх дөрвөн товчлуурыг холбосон тул тоглоход джойстик хэрэггүй (хэдийгээр джойстик нь илүү инээдтэй ч гэсэн). Дахин хэлэхэд RS232 зүү 9 нь +5 В -тэй холбогдсон байх ёстой бөгөөд джойстик зүү нь товчлууруудтай зэрэгцсэн байна.

Алхам 6: Дүгнэлт ба хүлээн зөвшөөрөх

Дүгнэлт ба хүлээн зөвшөөрөх
Дүгнэлт ба хүлээн зөвшөөрөх

Хэрэв бүх зүйл зөв хийгдсэн бол VGA дэлгэцийг холбоод л хуучин хэв маягийн тоглоомыг үзэх боломжтой болно.

Та зөвхөн VGA номын сангийн чадварыг шалгахын тулд 640 x 350 пикселийн нарийвчлалтай Mandelbrot багц зурж болно.

Кодыг би бусад тоглоомыг ирээдүйд хялбархан нэмэх боломжтой байдлаар бичсэн болохыг анхаарна уу (ESP32 нь хангалттай зайтай!). Би энэ төслийг хангалттай сонирхож байгаа бол би үүнийг хийж чадна …

Эцэст нь би танкуудаа түүний гайхалтай ESP32 VGA номын санд зориулж Фабризио Ди Витториод хэлэхийг хүсч байна. Дэлгэрэнгүй мэдээлэл, жишээ,… Space Invaders -ийг түүний сайтад зочилно уу.

Зөвлөмж болгож буй: