فهرست مطالب:

ESP32 کنسول بازی دستی: 21 مرحله (همراه با تصاویر)
ESP32 کنسول بازی دستی: 21 مرحله (همراه با تصاویر)

تصویری: ESP32 کنسول بازی دستی: 21 مرحله (همراه با تصاویر)

تصویری: ESP32 کنسول بازی دستی: 21 مرحله (همراه با تصاویر)
تصویری: ODROID GO mp3 player - ESP32 2024, جولای
Anonim
Image
Image
آماده سازی سخت افزار
آماده سازی سخت افزار

این دستورالعمل ها نحوه استفاده از ESP32 و ATtiny861 برای ساختن کنسول بازی شبیه ساز NES را نشان می دهد.

مرحله 1: آماده سازی سخت افزار

آماده سازی سخت افزار
آماده سازی سخت افزار
آماده سازی سخت افزار
آماده سازی سخت افزار

ESP32 Dev Board

این بار من از یک تخته dev TTGO T8 ESP32 استفاده می کنم. این برد دارای مدار شارژ و تنظیم Lipo داخلی است ، می تواند به کاهش اجزای اضافی کمک کند.

نمایش دادن

این بار من از یک IPS LCD 2.4 اینچی استفاده می کنم. کنترل کننده درایور ST7789V است و وضوح تصویر 320 240 240 است. این رزولوشن برای رزولوشن NES emulator 252 22 224 مناسب است.

باتری

این بار من از باتری لیپو 454261 استفاده می کنم. 4.5 میلی متر ضخامت برد ESP32 dev و 61 میلی متر عرض برد است.

پین سرصفحه

یک هدر پین گرد مردانه 4 پین و یک سر پین گرد زن 4 پین برای اتصال گیم پد I2C.

صفحه PETG

یک صفحه کوچک PET/PETG برای پشتیبانی از تخته dev و باتری Lipo ، می توانید آن را به راحتی در بسته بندی محصول پیدا کنید.

PCB چند منظوره

2 PCB مورد نیاز است ، 1 ضخامت 0.4 میلی متر برای پشتیبانی از صفحه نمایش ، 1 ضخامت 1.2 میلی متر برای گیم پد I2C.

دکمه ها

یک دکمه 5 جهت ، 2 دکمه کوچک برای Select و Start و 2 دکمه A و B.

کنترل کننده گیم پد I2C

این بار من از میکروکنترلر ATtiny861 به عنوان کنترل کننده گیم پد I2C استفاده می کنم.

دیگران

1 مقاومت SMD 12 اهم ، برنامه نویس ISP (به عنوان مثال TinyISP)

مرحله 2: آماده سازی نرم افزار

تهیه نرم افزار
تهیه نرم افزار
تهیه نرم افزار
تهیه نرم افزار
تهیه نرم افزار
تهیه نرم افزار

آردوینو IDE

در صورت عدم وجود Arduino IDE را بارگیری و نصب کنید:

پشتیبانی ATTinyCore

مراحل نصب را دنبال کنید تا در صورت عدم پشتیبانی ATTinyCore اضافه شود:

ESP-IDF

در صورت عدم وجود راهنمای شروع ESP-IDF برای راه اندازی محیط توسعه ، دنبال کنید:

مرحله 3: چاپ سه بعدی

پرینت سه بعدی
پرینت سه بعدی

پرونده را بارگیری و چاپ کنید:

مرحله 4: پشتیبانی از LCD

پشتیبانی از LCD
پشتیبانی از LCD
پشتیبانی از LCD
پشتیبانی از LCD

برای پشتیبانی از LCD ، یک PCB 24 27 27 سوراخ 0.4 میلی متری برش دهید. به یاد داشته باشید که مقداری فضا برای تاشوی LCD FPC رزرو کنید. سپس از نوار چسب دو طرفه برای تعمیر LCD روی PCB استفاده کنید.

مرحله 5: صفحه PETG را آماده کنید

صفحه PETG را آماده کنید
صفحه PETG را آماده کنید
صفحه PETG را آماده کنید
صفحه PETG را آماده کنید

یک صفحه PETG 62 میلی متری در 69 میلی متر را برای پشتیبانی از باتری dev و پشتیبانی از باتری Lipo برش دهید.

مرحله 6: Eboard32 Dev Board را برطرف کنید

رفع مشکل ESP32 Dev Board
رفع مشکل ESP32 Dev Board

از نوار چسب دو طرفه برای ثابت کردن تخته روی صفحه PETG استفاده کنید.

مرحله 7: باتری Lipo را تعمیر کنید

تعمیر باتری لیپو
تعمیر باتری لیپو

از نوار چسب دو طرفه برای تعمیر باتری لیپو به غیر از تخته dev استفاده کنید.

مرحله 8: اتصال Battery & Dev Board

Battery & Dev Board را وصل کنید
Battery & Dev Board را وصل کنید

مرحله 9: پین های نمایش را آماده کنید

پین های نمایش را آماده کنید
پین های نمایش را آماده کنید

صفحه نمایش LCD دارای تنوع زیادی از فروشندگان مختلف است. لطفاً برگه داده صحیح را تهیه کرده و قبل از هرگونه وصله و اتصال آن را مطالعه کنید.

برخی از پین ها مخصوص صفحه لمسی هستند. از آنجا که این LCD دارای صفحه لمسی نیست ، به سادگی قطع آن پین ها می تواند مزاحمت را کاهش دهد.

مرحله 10: پین های GND را وصل کنید

پین های GND را وصل کنید
پین های GND را وصل کنید
پین های GND را وصل کنید
پین های GND را وصل کنید

در بیشتر موارد ، تعداد کمی پین وجود دارد که نیاز به اتصال به GND دارند. برای کاهش تلاش برای لحیم کاری ، یک شکل نوار مسی را برش دادم تا به تمام پایه های GND برسد و سپس به طور کلی لحیم کاری کنم.

مرحله 11: پین های Vcc را وصل کنید

پین های Vcc را وصل کنید
پین های Vcc را وصل کنید

2 پین مورد نیاز برای اتصال به Vcc ، قدرت LCD و قدرت LED وجود دارد. با توجه به برگه اطلاعات ، قدرت LCD می تواند مستقیماً به پین dev 3.3 ولت متصل شود ، اما قدرت LED کمی کمتر از 3.3 ولت کار می کند. بنابراین بهتر است یک مقاومت SMD در وسط اضافه کنید ، به عنوان مثال. مقاومت 12 اهم

مرحله 12: پشتیبانی از صفحه LCD و Dev را وصل کنید

اتصال LCD & Dev Board Support
اتصال LCD & Dev Board Support

از نوار اتصال پشتیبانی LCD و پشتیبانی از برد dev با هم استفاده کنید. هر دو پایه باید حدود 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 وصل نشده -> LED 3.3 ولت+ -> مقاومت 12 اهم -> LED 3.3 ولت - -> GND

مرحله 14: برنامه فلش

برنامه فلش
برنامه فلش
برنامه فلش
برنامه فلش
برنامه فلش
برنامه فلش
برنامه فلش
برنامه فلش
  1. کد منبع را در GitHub بارگیری کنید:
  2. در پوشه کد منبع ، "make menuconfig" را اجرا کنید
  3. "تنظیمات خاص Nofrendo ESP32" را انتخاب کنید
  4. "سخت افزار برای اجرا" را انتخاب کنید -> "سخت افزار سفارشی"
  5. "نوع LCD" -> "LCD 77779V" را انتخاب کنید
  6. تنظیمات پین را پر کنید: MISO -> -1 ، MOSI -> 23 ، CLK -> 18 ، CS -> 5 ، DC -> 27 ، RST -> 33 ، نور پس زمینه -> -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 ، پین های پیش فرض I2C ESP32 عبارتند از:

پین 1 (SCL) -> GPIO 22

پین 2 (SDA) -> GPIO 21 پین 3 (Vcc) -> 3.3 ولت (بدون تغذیه 5 ولت در حالی که از باتری لیپو تغذیه می کنید) پین 4 (GND) -> GND

مرحله 16: مونتاژ قسمت 1

Image
Image

مراحل ویدئویی را دنبال کنید تا همه قسمت ها را داخل قاب قرار دهید و فشار دهید.

مرحله 17: نمونه اولیه I2C Gamepad

نمونه اولیه I2C Gamepad
نمونه اولیه I2C Gamepad
نمونه اولیه I2C Gamepad
نمونه اولیه I2C Gamepad

برنامه 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) -> دکمه پین 13 (PA5) -> دکمه شروع پین 12 (PA6) -> یک دکمه پین 11 (PA7) -> دکمه B پین 6 (GND) -> پین هدر پین مردانه I2C 4 پین 5 (Vcc) -> I2C را انتخاب کنید پین هدر پین نر 3 پین 3 (SCL) -> پین هدر پین نر I2C 1 پین 1 (SDA) -> پین هدر پین نر 2 I2C

مرحله 19: مونتاژ قسمت 2

Image
Image
اختیاری: پین های شکست صوتی
اختیاری: پین های شکست صوتی

مراحل نصب ویدئو و نصب گیم پد I2C را روی بدنه اصلی دنبال کنید.

مرحله 20: اختیاری: پین های Breakout صوتی

Image
Image
اختیاری: پین های شکست صوتی
اختیاری: پین های شکست صوتی

ESP32 dev board Pin 25 و 26 در حال خروج سیگنال صوتی آنالوگ است ، شکستن این 2 پین و همچنین پین های قدرت (3.3 V و GND) در بالا بسیار آسان است. سپس می توانید یک هدفون را وصل کنید تا وصل شود. یا حتی می توانید یک ماژول تقویت کننده صدا با بلندگو برای پخش بلند آن اضافه کنید.

مرحله 21: بعد چیست؟

بعدش چی؟
بعدش چی؟

شبیه ساز NES تنها چیزی نیست که می توانید با ESP32 بسازید. به عنوان مثال. می توانید با آن یک کنسول میکرو پایتون بسازید. تنها مولفه ای که باید تغییر دهید از صفحه بازی I2C به صفحه کلید I2C است. من فکر می کنم ساختن آن با یک کنترلر ATtiny88 چندان دشوار نیست. برای مشاهده وضعیت می توانید توییتر من را دنبال کنید.

توصیه شده: