فهرست مطالب:

ESP8266 VGA Pong: 5 مرحله (همراه با تصاویر)
ESP8266 VGA Pong: 5 مرحله (همراه با تصاویر)

تصویری: ESP8266 VGA Pong: 5 مرحله (همراه با تصاویر)

تصویری: ESP8266 VGA Pong: 5 مرحله (همراه با تصاویر)
تصویری: ESP8266 VGA Pong 2024, نوامبر
Anonim
Image
Image
فهرست مواد
فهرست مواد

در این دستورالعمل ها نحوه ساختن بازتولید بازی کلاسیک Pong برای مانیتور VGA ، با استفاده از ESP8266 و چند جزء دیگر را نشان خواهم داد.

این بازی به وسیله کتابخانه EspVGAx که اخیراً توسط Sandro Maffiodo (معروف به Smaffer) در GitHub منتشر شده است ، امکان پذیر است و تا آنجا که من می دانم ، این اولین بازی است که از آن استفاده می کند.

این کتابخانه وضوح تصویر 512 4 480 پیکسل را اجرا می کند که در یک فریم بافر در داخل RAM ذخیره می شود ، که به 30720 بایت نیاز دارد. وضوح تصویر در مقایسه با تلویزیون Arduino یا VGAx (به ترتیب 128 * 96 و 120 * 60 پیکسل) بسیار زیاد است. امیدوارم این بازی برنامه نویسان دیگر را ترغیب به توسعه یا بازتولید بازی های پیچیده تر کند.

مرحله 1: فهرست مواد

کتابخانه EspVGAx به ESP8266 با تمام GPIO در معرض نیاز است ، مانند ESP-12E ، برد NodeMCU-12E یا هر بردی که GPIO5 (D1) ، GPIO4 (D2) و GPIO13 (D7) را در معرض دید قرار دهد.

به طور خاص ، من از موارد زیر استفاده کردم:

  • یک ESP8266 NodeMCU-12E (پیوند اینجا)
  • اتصال DSUB15 (یعنی اتصال زن VGA)
  • یک مقاومت 330 اهم
  • یک مقاومت دیگر (حدود 1 تا 3 کیلو اهم)
  • دو پتانسیومتر 10 کیلو اهم
  • دکمه فشاری (n.o.)
  • دو دیود (مانند 1N4007s)
  • یک تخته نان
  • سیم ها

من کانکتور DSUB15 را از یک برد PC قدیمی VGA تهیه کردم. همچنین می توانید یک کابل VGA قدیمی را بریده و سیم ها را مستقیماً به تخته نان متصل کنید.

مرحله 2: بارگذاری کتابخانه و طرح

بارگذاری کتابخانه و طرح
بارگذاری کتابخانه و طرح

روشهای مختلفی برای برنامه ریزی و ESP8266 وجود دارد. من از Arduino IDE برای نوشتن پنگ و بارگذاری کد استفاده کردم.

لطفاً توجه داشته باشید که کتابخانه EspVGAx برای Arduino IDE 1.8.1 کار می کند. اگر نسخه های دیگری دارید ، بهترین کار این است که فایل های.zip را بارگیری کرده و در یک پوشه اختصاصی از حالت فشرده خارج کنید. نسخه ویندوز اینجاست. نسخه های دیگر سیستم عامل ها در اینجا آمده است.

پس از آن ، باید کتابخانه EspVGAx را از صفحه GithHub در اینجا بارگیری کنید (لینک مستقیم نسخه zip در اینجا) ، و آن را در کتابخانه های پوشه در نرم افزار Arduino از حالت فشرده خارج کنید.

NB یک اشکال کوچک در فایل espvgax_draw.h وجود دارد. برای اصلاح آن ، فقط خط 17 را جایگزین کنید:

while (x0٪ 32) {با while (x0٪ 32 && sw> 32) {

در نهایت می توانید ESP8266_Pong.rar را در پایان این مرحله بارگیری کنید.

پس از باز کردن فشرده ، برای بارگذاری آن در ESP8266 خود ، باید IDE Arduino را پیکربندی کنید.

اگر هرگز آن را انجام نداده اید ، می توانید تمام دستورالعمل های مورد نیاز را در این دستورالعمل ها ، به ویژه در مرحله 2 پیدا کنید.

پس از پیکربندی همه چیز ، تنظیمات ESP8266 باید شبیه تنظیمات نشان داده شده در تصویر بالا باشد.

اگر می توانید کد را بدون خطا بارگذاری کنید ، می توانید مونتاژ قطعات را شروع کنید.

مرحله 3: اتصال قطعات: اتصال VGA

اتصال قطعات: اتصال VGA
اتصال قطعات: اتصال VGA
اتصال قطعات: اتصال VGA
اتصال قطعات: اتصال VGA
اتصال قطعات: اتصال VGA
اتصال قطعات: اتصال VGA

من توصیه می کنم ابتدا پورت VGA را وصل کنید ، همانطور که در تصاویر بالا نشان داده شده است. لطفاً توجه داشته باشید که با اتصال سه پایه قرمز ، سبز و آبی به یکدیگر (یعنی پایه های 1 ، 2 و 3 در اتصال DSUB15) ، یک تصویر B&W روی صفحه خود خواهید داشت. همچنین می توانید ترکیب رنگ های مختلفی داشته باشید. جزئیات را در صفحه Library GitHub مشاهده کنید.

علاوه بر این ، شما باید یک مقاومت 330 اهم را بین پایه های RGB و D7 (GPIO13) در ESP8266 وصل کنید. این به من تصویر مایل به خاکستری در مانیتورم داد ، بنابراین ، پس از چند تلاش ، تصمیم گرفتم آن را به کلی حذف کنم.

در این مرحله ، اگر همه چیز درست کار می کند ، می توانید مانیتور را متصل کرده و صفحه اصلی بازی را با بنر "ESP8266 VGAx Pong" مشاهده کنید.

مرحله 4: اتصال قطعات: پتانسیومترها و دکمه

اتصال قطعات: پتانسیومترها و دکمه
اتصال قطعات: پتانسیومترها و دکمه

دکمه باید بین 3.3V و پین D0 (GPIO16) متصل باشد. همچنین مقاومت 1 تا 3 کیلو اهم را از D0 به زمین وصل کنید. با این کار وقتی دکمه باز است D0 در وضعیت نامشخص قرار می گیرد.

اتصال دو پتانسیومتر کم اهمیت نیست ، در حقیقت ESP8266 فقط دارای یک پورت ورودی آنالوگ A0 (ADC0) است! ترفند این است که هر دو خروجی pot.s را به یک پورت متصل کرده و آنها را "مالتی پلکس" کنید. مالتی پلکس به این معنی است که شما یک پتانسیومتر را روشن کرده ، آن را می خوانید ، سپس آن را خاموش کرده و به دومی می روید.

اگر می خواهید در مورد این روش بیشتر بدانید ، می توانید این دستورالعمل را بخوانید.

یک پتانسیومتر افراطی را به GND و حالت دیگر را به D5 برای پتانسیومتر پخش کننده چپ و D6 را برای دستگاه پخش کننده راست وصل کنید.

هر پین مرکزی پتانسیومتر باید به یک دیود جداگانه متصل شود ، و طرفهای دیگر دیودها باید به A0 (ADC0) متصل شوند ، با قطبی که در تصویر بالا نشان داده شده است.

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

من از ساندرو مافیودو - SMAFFER - بخاطر کتاب ESPVGAX سپاسگزارم. این بازی بدون آن امکان پذیر نخواهد بود.

امیدوارم این دستورالعمل الهام بخش برنامه نویسان دیگر باشد تا با ESP8266 ، که دارای محدودیت های بسیار کمتری نسبت به آردوینو است ، بازسازی بازی های پیچیده تر بازی های کلاسیک را انجام دهند.

در نهایت ، من این دستورالعمل را برای ارسال به مسابقه اسباب بازی نوشتم: اگر دوست دارید یا آن را بازتولید می کنید ، لطفاً یک لحظه به آن رای دهید!

توصیه شده: