جدول المحتويات:

وحدة تحكم الألعاب المحمولة ESP32: 21 خطوة (بالصور)
وحدة تحكم الألعاب المحمولة ESP32: 21 خطوة (بالصور)

فيديو: وحدة تحكم الألعاب المحمولة ESP32: 21 خطوة (بالصور)

فيديو: وحدة تحكم الألعاب المحمولة ESP32: 21 خطوة (بالصور)
فيديو: Play PS2 games from a Memory Card? | MC2SIO | MX4SIO 2024, يوليو
Anonim
Image
Image
تحضير الأجهزة
تحضير الأجهزة

توضح هذه التعليمات كيفية استخدام ESP32 و ATtiny861 لبناء وحدة تحكم لعبة محاكي NES.

الخطوة 1: تجهيز الأجهزة

تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة

مجلس تطوير ESP32

هذه المرة أستخدم لوحة تطوير TTGO T8 ESP32. تحتوي هذه اللوحة على دائرة شحن وتنظيم ليبو مدمجة ، ويمكن أن تساعد في تقليل المكونات الإضافية.

عرض

هذه المرة أستخدم شاشة IPS LCD مقاس 2.4 بوصة ، وحدة تحكم السائق ST7789V والدقة 320 × 240. هذه الدقة هي الأنسب لمحاكي NES بدقة 252 × 224.

بطارية

هذه المرة أستخدم بطارية ليبو 454261. 4.5 ملم هو سمك لوحة ESP32 ديف ، و 61 ملم هو عرض اللوحة.

رأس دبوس

رأس دبوس مستدير 4 دبابيس ورأس دبوس مستدير 4 دبابيس لتوصيل لوحة ألعاب I2C.

لوحة PETG

لوحة PET / PETG صغيرة لدعم لوحة التطوير وبطارية Lipo ، يمكنك العثور عليها بسهولة في تغليف المنتج.

متعدد الأغراض ثنائي الفينيل متعدد الكلور

يلزم وجود 2 PCB ، وسمك 1 0.4 مم لدعم الشاشة ، وسمك 1 1.2 مم للوحة ألعاب I2C.

أزرار

زر 5 اتجاهات وزرين صغيرين للاختيار والبدء و 2 للزر A و B.

وحدة تحكم غمبد I2C

هذه المرة أستخدم متحكم ATtiny861 كوحدة تحكم لوحة ألعاب I2C.

آحرون

1 SMD 12 أوم المقاوم ، مبرمج ISP (مثل TinyISP)

الخطوة الثانية: إعداد البرنامج

تحضير البرمجيات
تحضير البرمجيات
تحضير البرمجيات
تحضير البرمجيات
تحضير البرمجيات
تحضير البرمجيات

اردوينو IDE

قم بتنزيل Arduino IDE وتثبيته إن لم يكن بعد:

دعم ATTinyCore

اتبع خطوات التثبيت لإضافة دعم ATTinyCore إذا لم يكن كذلك:

ESP-IDF

اتبع دليل البدء ESP-IDF لإعداد بيئة التطوير إن لم يكن بعد: https://docs.espressif.com/projects/esp-idf/en/sta …

الخطوة الثالثة: الطباعة ثلاثية الأبعاد

طباعة ثلاثية الأبعاد
طباعة ثلاثية الأبعاد

قم بتنزيل وطباعة العلبة:

الخطوة 4: دعم شاشات الكريستال السائل

دعم شاشات الكريستال السائل
دعم شاشات الكريستال السائل
دعم شاشات الكريستال السائل
دعم شاشات الكريستال السائل

قطع 24 × 27 ثقوب 0.4 مم ثنائي الفينيل متعدد الكلور لدعم شاشات الكريستال السائل. تذكر الاحتفاظ ببعض المساحة للطي LCD FPC. ثم استخدم شريطًا لاصقًا مزدوج الجانب لإصلاح شاشة LCD على لوحة الدوائر المطبوعة.

الخطوة 5: تحضير لوحة PETG

تحضير لوحة PETG
تحضير لوحة PETG
تحضير لوحة PETG
تحضير لوحة PETG

قم بقطع لوحة PETG مقاس 62 مم × 69 مم للوحة التطوير ودعم بطارية ليبو.

الخطوة 6: إصلاح لوحة ESP32 Dev

إصلاح لوحة ESP32 Dev
إصلاح لوحة ESP32 Dev

استخدم شريطًا لاصقًا مزدوج الجانب لإصلاح لوحة التطوير على لوحة PETG.

الخطوة 7: إصلاح بطارية ليبو

إصلاح بطارية ليبو
إصلاح بطارية ليبو

استخدم شريطًا لاصقًا مزدوج الجانب لإصلاح بطارية ليبو بجانب لوحة التطوير.

الخطوة 8: توصيل البطارية ولوحة التطوير

قم بتوصيل البطارية ولوحة التطوير
قم بتوصيل البطارية ولوحة التطوير

الخطوة 9: تحضير دبابيس العرض

تحضير دبابيس العرض
تحضير دبابيس العرض

تحتوي شاشة LCD على العديد من الأشكال المختلفة من البائعين المختلفين. يرجى الحصول على ورقة البيانات الصحيحة وقراءتها قبل أي تصحيح واتصال.

بعض المسامير محجوزة للوحة اللمس. نظرًا لأن شاشة LCD هذه لا تحتوي على لوحة تعمل باللمس ، فإن قطع تلك المسامير ببساطة يمكن أن يقلل من الإزعاج.

الخطوة 10: قم بتوصيل دبابيس GND

قم بتوصيل دبابيس GND
قم بتوصيل دبابيس GND
قم بتوصيل دبابيس GND
قم بتوصيل دبابيس GND

في معظم الحالات ، هناك عدد قليل من المسامير التي تتطلب الاتصال بـ GND. لتقليل جهد اللحام ، قمت بقص شكل شريط نحاسي للوصول إلى جميع دبابيس GND ثم لحامها تمامًا.

الخطوة 11: قم بتوصيل دبابيس Vcc

قم بتوصيل دبابيس Vcc
قم بتوصيل دبابيس Vcc

هناك 2 دبابيس مطلوب توصيلها بـ Vcc ، و LCD power ، و LED power. وفقًا لورقة البيانات ، يمكن توصيل طاقة LCD مباشرة بلوحة dev 3.3 V pin لكن طاقة LED تعمل أقل قليلاً من 3.3 V. لذلك من الأفضل إضافة مقاوم SMD في المنتصف ، على سبيل المثال 12 أوم المقاوم.

الخطوة 12: قم بتوصيل دعم LCD و Dev Board

قم بتوصيل دعم لوحة LCD و Dev
قم بتوصيل دعم لوحة LCD و Dev

استخدم شريط توصيل دعم LCD ودعم لوحة التطوير معًا. يجب أن يحتفظ كلا الداعمين بفجوة تبلغ حوالي 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 -> 3.3 V LED + -> مقاوم 12 أوم -> 3.3 فولت LED - -> GND

الخطوة 14: برنامج الفلاش

برنامج فلاش
برنامج فلاش
برنامج فلاش
برنامج فلاش
برنامج فلاش
برنامج فلاش
برنامج فلاش
برنامج فلاش
  1. قم بتنزيل الكود المصدري على GitHub:
  2. ضمن مجلد التعليمات البرمجية المصدر ، قم بتشغيل "make menuconfig"
  3. حدد "التكوين الخاص بـ Nofrendo ESP32"
  4. حدد "أجهزة للتشغيل عليها" -> "أجهزة مخصصة"
  5. حدد "نوع LCD" -> "ST7789V LCD"
  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 ، دبابيس ESP32 الافتراضية I2C هي:

السن 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3.3 V (بدون طاقة 5 V أثناء تشغيله بواسطة بطارية Lipo) Pin 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 Gamepad
بناء I2C Gamepad
بناء I2C Gamepad
بناء I2C Gamepad
بناء I2C Gamepad
بناء I2C Gamepad

فيما يلي ملخص الاتصال:

زر ATtiny861

GND -> جميع الأزرار دبوس واحد دبوس 20 (PA0) -> الزر العلوي دبوس 19 (PA1) -> الزر السفلي دبوس 18 (PA2) -> الزر الأيسر دبوس 17 (PA3) -> الزر الأيمن دبوس 14 (PA4) -> حدد الزر Pin 13 (PA5) -> زر البدء Pin 12 (PA6) -> زر A Pin 11 (PA7) -> B button Pin 6 (GND) -> I2C male pin header pin 4 Pin 5 (Vcc) -> I2C ذكر رأس دبوس 3 دبوس 3 (SCL) -> I2C ذكر دبوس رأس دبوس 1 دبوس 1 (SDA) -> I2C ذكر دبوس رأس دبوس 2

الخطوة 19: التجميع الجزء 2

Image
Image
اختياري: دبابيس فصل الصوت
اختياري: دبابيس فصل الصوت

اتبع خطوات الفيديو لتثبيت الغطاء ولوحة الألعاب I2C على الهيكل الرئيسي.

الخطوة 20: اختياري: دبابيس اندلاع الصوت

Image
Image
اختياري: دبابيس فصل الصوت
اختياري: دبابيس فصل الصوت

تقوم لوحة ESP32 dev Pin 25 و 26 بإخراج إشارة الصوت التناظرية ، ومن السهل جدًا كسر هذين المسامير وأيضًا دبابيس الطاقة (3.3 فولت و GND) في الأعلى. ثم يمكنك تصحيح سماعة أذن لتوصيلها. أو حتى يمكنك إضافة وحدة مكبر صوت مع مكبر صوت لتشغيلها بصوت عالٍ.

الخطوة 21: ماذا بعد؟

ماذا بعد؟
ماذا بعد؟

محاكي NES ليس الشيء الوحيد المثير للاهتمام الذي يمكنك صنعه باستخدام ESP32. على سبيل المثال يمكنك بناء وحدة تحكم micro python بها. المكون الوحيد الذي تحتاج إلى تغييره هو من لوحة ألعاب I2C إلى لوحة مفاتيح I2C. أعتقد أنه ليس من الصعب القيام بذلك باستخدام وحدة تحكم ATtiny88. يمكنك متابعة تويتر الخاص بي لمعرفة الحالة.

موصى به: