فهرست مطالب:

ESP32 VGA Arcade Games and Joystick: 6 Step (همراه با تصاویر)
ESP32 VGA Arcade Games and Joystick: 6 Step (همراه با تصاویر)

تصویری: ESP32 VGA Arcade Games and Joystick: 6 Step (همراه با تصاویر)

تصویری: ESP32 VGA Arcade Games and Joystick: 6 Step (همراه با تصاویر)
تصویری: ESP32 VGA four games & joystick 2024, جولای
Anonim
Image
Image
ESP32 VGA Arcade Games و Joystick
ESP32 VGA Arcade Games و Joystick
ESP32 VGA Arcade Games و Joystick
ESP32 VGA Arcade Games و Joystick

در این قسمت آموزشی نحوه بازسازی چهار بازی مانند بازی - Tetris - Snake - Breakout - Bomber - با استفاده از ESP32 ، با خروجی برای مانیتور VGA را نشان خواهم داد.

وضوح تصویر 320 در 200 پیکسل ، در 8 رنگ است. من قبلاً نسخه ای را با Arduino Uno انجام دادم (اینجا را ببینید) ، اما وضوح تصویر فقط 120 60 60 پیکسل ، 4 رنگ بود و حافظه آردوینو تقریباً پر بود. به لطف عملکرد بیشتر ESP32 ، وضوح تصویر و قابلیت پخش بالاتر است. علاوه بر این ، هنوز مقدار زیادی حافظه در دسترس است ، بنابراین افزودن بازی های جدید در آینده ساده خواهد بود.

همچنین برای اتصال یک جوی استیک ساده از طریق کابل RS232 داغ نشان خواهم داد. من از همان pinout Commodore 64 استفاده می کنم.

این پروژه با کتابخانه فوق العاده ESP32 VGA که توسط Fabrizio Di Vitorio نوشته شده است امکان پذیر شده است. برای جزئیات بیشتر اینجا را ببینید.

مرحله 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. ESP32 را در IDE و پیکربندی کنید
  3. کتابخانه VGA را بارگیری و نصب کنید

مرحله زیر 1. روشهای مختلفی برای برنامه ریزی ESP32 وجود دارد ، اما در اینجا شما باید از Arduino IDE استفاده کنید (به هر حال ، من از نسخه 1.8.9 استفاده می کنم). برای نصب آن می توانید به صفحه Arduino IDE بروید و دستورالعمل ها را دنبال کنید.

مرحله دوم 2. پس از انجام عملیات قبلی ، باید ESP32 خود را در Arduino IDE پیکربندی کنید. این بی اهمیت نیست ، زیرا ESP32 بومی (هنوز؟) در آن نیست. می توانید این آموزش یا مراحل زیر را دنبال کنید.

1) Arduino IDE را باز کنید

2) پنجره تنظیمات ، File/Preference را باز کنید ، "Ctrl+کاما" را فشار دهید

3) به "آدرس های اضافی مدیر هیئت مدیره" بروید ، متن زیر را کپی و جایگذاری کنید:

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

و روی دکمه OK کلیک کنید.

4) مدیر تابلوها را باز کنید. به Tools/Board/Boards Manager بروید…

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 را به ترتیب از طریق مقاومت های 270 اهم به ترتیب به رنگ قرمز VGA ، سبز و آبی متصل کنید.

VGA Hsync و Vsync را به ترتیب به پین 17 و 4 ESP32 GPIO وصل کنید.

پین های اتصال دهنده DSUB15 5 ، 6 ، 7 ، 8 و 10 را به ESP32 GND وصل کنید.

برای تعریف پین اتصال VGA DSUB15 ، تصویر را در این مرحله ببینید. توجه ، این قسمت لحیم کاری اتصال زن است.

مرحله 4: چهار دکمه را وصل کنید

چهار دکمه را وصل کنید
چهار دکمه را وصل کنید
چهار دکمه را وصل کنید
چهار دکمه را وصل کنید
چهار دکمه را وصل کنید
چهار دکمه را وصل کنید

اگر جوی استیک C64 ندارید ، می توانید چهار دکمه را بعد از این مرحله متصل کنید. اگر جوی استیک دارید ، می توانید این مرحله را نادیده بگیرید و به مرحله بعدی بروید ، اما به هر حال می توانید دکمه ها و جوی استیک را به هم متصل کنید (به هر حال "به طور موازی").

شماتیک این مرحله نحوه اتصال یک دکمه (معمولاً باز) را از +5V به پین داده شده ESP32 نشان می دهد.

توجه داشته باشید که همچنین باید پین داده شده ESP را از طریق مقاومت 1 تا 5 کیلو اهم به GND وصل کنید. به این ترتیب وقتی دکمه آزاد می شود (باز می شود) پین ESP دقیقاً در صفر ولت است. به طور خاص ، شما باید چهار دکمه را با ترتیب زیر متصل کنید:

  • دکمه 12 را به راست پین کنید
  • دکمه 25 را به بالا سنجاق کنید
  • دکمه 14 را به چپ سنجاق کنید
  • دکمه 35 را به پایین پین کنید

مرحله 5: جوی استیک را وصل کنید

جوی استیک را وصل کنید
جوی استیک را وصل کنید
جوی استیک را وصل کنید
جوی استیک را وصل کنید
جوی استیک را وصل کنید
جوی استیک را وصل کنید

جوی استیک C64 دارای pinout است که در تصویر اول این مرحله نشان داده شده است. برای اتصال آن به ESP32 ، به کانکتور نر 9 پین DSUB (یعنی سوکت) نیاز دارید ، همانطور که در تصویر دوم نشان داده شده است. من یکی را با پین های نمایان شده از یک برد الکترونیکی قدیمی حذف کردم. می توانید از تفنگ حرارتی برای برداشتن آن استفاده کنید (اما این کار را در فضای باز انجام دهید!).

شما باید پین ها را به ترتیب عددی در این تصاویر متصل کنید. توجه داشته باشید که شماتیک به قسمت جوی استیک اشاره دارد ، بنابراین نشان دهنده اتصال شاخه زن آن است. سوکت (نر) برای اتصال به ESP32 دارای پین هایی با وضعیت "آینه" است. در صورت شک ، به یاد داشته باشید که شماره پین همیشه بر روی اتصالات زن و مرد گزارش می شود ، همانطور که در تصویر سوم نشان داده شده است.

اگر می خواهید بازی ها را فقط با جوی استیک کنترل کنید ، پین معمولی آن (9) را به ESP32 +5V و پین های جوی استیک 1 ، 2 ، 3 ، 4 و 6 را به پین های ESP زیر لیست زیر وصل کنید.

  • دکمه ESP پین 12 به راست (پین RS232 4)
  • پین ESP 14 تا دکمه چپ (پین RS232 3)
  • پین ESP 35 تا دکمه پایین (پین RS232 2)
  • دکمه ESP پین 25 تا بالا (پین RS232 1 و 6 ، یعنی آتش جوی استیک)

توجه داشته باشید پایه های ESP 12 ، 14 ، 25 و 35 نیز باید از طریق مقاومت 1 تا 5 کیلو اهم به GND متصل شوند. به این ترتیب وقتی دکمه آزاد می شود (باز می شود) پین ESP دقیقاً در صفر ولت است.

NB2 جوی استیک UP و دکمه آتش با هم به پین ESP 25- متصل می شوند

من چهار دکمه را روی برد کامپیوتر متصل کرده ام ، در این صورت نیازی به جوی استیک برای بازی ندارم (اگرچه با جوی استیک بسیار خنده دار تر است). باز هم ، پین RS232 9 باید به +5 ولت متصل شود و پین های جوی استیک درست موازی دکمه ها هستند.

مرحله ششم: نتیجه گیری و تقدیر

نتیجه گیری و تقدیر
نتیجه گیری و تقدیر

اگر همه چیز به درستی کار می کند ، فقط مانیتور VGA را وصل کنید و باید بتوانید از برخی بازی های قدیمی لذت ببرید!

همچنین می توانید یک مجموعه Mandelbrot با وضوح 640 350 350 پیکسل بکشید ، فقط برای آزمایش قابلیت های کتابخانه VGA.

توجه داشته باشید که کد به گونه ای نوشته شده است که سایر بازی ها را می توان به راحتی در آینده اضافه کرد (ESP32 فضای زیادی دارد!). اگر این پروژه به اندازه کافی مورد توجه قرار گیرد ، ممکن است این کار را انجام دهم…

در نهایت ، من مایلم مخازن خود را به Fabrizio Di Vittorio برای کتابخانه فوق العاده ESP32 VGA خود بیان کنم. برای اطلاعات بیشتر ، مثالها و… مهاجمان فضایی ، به سایت وی مراجعه کنید.

توصیه شده: