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

PUBG Theme Song + Animation with Arduino !:13 خطوة (بالصور)
PUBG Theme Song + Animation with Arduino !:13 خطوة (بالصور)

فيديو: PUBG Theme Song + Animation with Arduino !:13 خطوة (بالصور)

فيديو: PUBG Theme Song + Animation with Arduino !:13 خطوة (بالصور)
فيديو: Michael Jackson Anti Gravity Dance Move 🔥😱😱😱🧐 #michaeljackson #antigravitydancemove #shorts 2024, شهر نوفمبر
Anonim
Image
Image
جمع كل الأجزاء
جمع كل الأجزاء

مرحبًا بكم ومرحبًا بكم في هذا التدريب الممتع! أتمنى أن تكون جميعكم بصحة جيدة وأن تظلوا بصحة جيدة. هذا المشروع الصغير والمدهش يدور حول تشغيل أغنية PUBG وحتى إنشاء بعض الرسوم المتحركة للألعاب باستخدام arduino.

المكونات المستخدمة متوفرة بسهولة ويسهل تجميعها على قطعة من اللوح. سوف أشارك عملية البناء والتشفير بأكملها في هذه التعليمات ، استمر حتى النهاية!

أود أن أقترح بشدة مشاهدة الفيديو للحصول على فكرة عن المشروع:) إذا أعجبك ، فأعجبك بالفيديو وشاركه. فكر في الاشتراك في قناتي إذا كنت تستمتع ببني ، شكرًا!

لذا ، دون مزيد من التأخير ، فلنبدأ!

الخطوة الأولى: تجميع كل الأجزاء

جمع كل الأجزاء
جمع كل الأجزاء

يتكون البناء بشكل أساسي من Arduino Nano وهو النواة الرئيسية لهذا المشروع. يمكنك استخدام أي متغيرات أخرى من Arduino مثل Arduino Uno الشهير و Arduino Pro Mini و Arduino Mega وما إلى ذلك لعرض الرسوم المتحركة والصور ، قررت استخدام شاشة OLED مقاس 0.96 بوصة بدقة 128 × 64 بكسل. يمكن أن تكون هذه الشاشة واجهات مع اردوينو مع بروتوكول I2C الذي يتطلب سلكين فقط للبيانات والساعة ، وبالتالي تقليل عدد الاتصالات وجعل المشروع أكثر إحكاما. من أجل تشغيل لحن موضوع PUBG ، استخدمت صفارة 5V قمت بتوصيل الدبوس الإيجابي بها مع دبوس رقمي 6 من اردوينو وتنتقل الأرض إلى Arduino.

هذه هي قائمة الأجزاء اللازمة للمشروع:

  1. Arduino Nano (أو أي لوحة اردوينو أخرى من اختيارك)
  2. 0.96 بوصة وحدة عرض OLED
  3. 5V الجرس
  4. أسلاك العبور
  5. اللوح
  6. كابل برمجة اردوينو

الخطوة 2: توصيل شاشة OLED

توصيل شاشة OLED
توصيل شاشة OLED
توصيل شاشة OLED
توصيل شاشة OLED
توصيل شاشة OLED
توصيل شاشة OLED

يلزم ما مجموعه 4 اتصالات لتوصيل شاشة OLED من arduino:

Vcc 5V من Arduino

Gnd Gnd من اردوينو

SDA A4 من Arduino

SCK A5 من Arduino

تخدم الدبابيس A4 و A5 من اردوينو غرضًا متعددًا من المدخلات التناظرية بالإضافة إلى المسامير لاتصالات I2C. هنا استخدمنا المسامير لبروتوكول I2C للتفاعل مع وحدة العرض.

رابط مكتبة Adafruit المستخدمة في هذا المشروع:

الخطوة 3: توصيل الجرس

توصيل الجرس
توصيل الجرس
توصيل الجرس
توصيل الجرس

يحتوي الجرس 5V على طرف إمداد موجب وسالب.

دبوس إيجابي D6 من Arduino (دبوس رقمي 6) (يمكنك استخدام أي دبوس رقمي من اردوينو)

سالب دبوس Gnd لاردوينو

سنقوم بإنشاء النغمة المرغوبة على الدبوس الرقمي D6 الذي سيعزف الجرس اللحن عليه.

الخطوة 4: اكتمال كافة اتصالات الأجهزة

اكتملت كافة اتصالات الأجهزة
اكتملت كافة اتصالات الأجهزة
اكتملت كافة اتصالات الأجهزة
اكتملت كافة اتصالات الأجهزة

اكتملت جميع التوصيلات الضرورية لشاشة OLED والجرس. الآن دعنا نمضي قدمًا في فهم الجانب البرمجي للمشروع..

الخطوة 5: تضمين المكتبة وتهيئة بروتوكولات العرض

بما في ذلك المكتبة وتهيئة بروتوكولات العرض
بما في ذلك المكتبة وتهيئة بروتوكولات العرض

تم تقسيم البرنامج بأكمله إلى 3 مكونات:

  1. يتكون البرنامج الرئيسي من تهيئة وتسلسل عرض الصور واللحن
  2. ملف "Pitches.h" يتكون من قائمة النوتات الموسيقية والترددات المصاحبة لها
  3. ملف "pictures.h" يتكون من صور نقطية للصور المراد عرضها.

تتم مناقشة عملية كيفية تحويل صورة إلى مصفوفة نقطية لشاشة OLED في الخطوات القادمة.

سأقوم أيضًا بإرفاق الكود بالكامل مع هذا التوجيه لتستخدمه:)

الخطوة السادسة: أغنية ميلودي

اغنية اللحن
اغنية اللحن
اغنية اللحن
اغنية اللحن

لقد بحثت على الإنترنت عن الملاحظات الأساسية التي تتكون منها أغنية PUBG ثم أضفتها إلى مجموعة اللحن.

من خلال قضاء قدر كبير من الوقت في العزف وإعادة تشغيل تسلسل اللحن ، قمت بعد ذلك بإنشاء مصفوفة المدة الزمنية التي تتعلق بالمدة التي يجب تشغيل كل نغمة فيها. يشتمل مزيج مجموعة اللحن ومجموعة المدة على المعلومات الكاملة لتشغيل الأغنية.

الخطوة 7: تشغيل الأغنية أثناء بدء التشغيل

تشغيل الأغنية أثناء بدء التشغيل
تشغيل الأغنية أثناء بدء التشغيل

هناك ما مجموعه 63 نوتة موسيقية استخدمتها لتكوين تسلسل اللحن. باستخدام حلقة for والتكرار من خلال مجموعة الملاحظات والمدة مع توقف مؤقت محدد مسبقًا بين كل ملاحظة ، يتم تشغيل التسلسل بأكمله مرة واحدة ، لأن هذا الجزء من الكود يكمن في الإعداد باطل (). ومن المثير للاهتمام ، أن أيًا من الكود الخاص بهذا المشروع لا يستخدم الحلقة الفارغة () من كود اردوينو لأنني أنوي تشغيل الصور وعرضها مرة واحدة فقط. بالطبع إذا كنت تريد تسلسلًا متكررًا ، فيجب وضع ذلك في وظيفة الحلقة الفارغة ().

الخطوة 8: تحويل الصور إلى صور نقطية

تحويل الصور إلى صور نقطية
تحويل الصور إلى صور نقطية

الآن ، الجزء المثير للاهتمام من المشروع هو عملية تحويل صورة إلى مصفوفة نقطية لشاشة OLED وفقًا لكثافة البكسل. لهذا وجدت أداة المحافظ عبر الإنترنت التي تتيح لنا إنشاء الصور النقطية المخصصة.

رابط هذا التطبيق عبر الإنترنت هو:

بفضل المبدعين المذهلين لهذا التطبيق ، هذا يجعل عملي أسهل بكثير.

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

الخطوة 9: ضبط الدقة وفقًا لشاشتك

ضبط الدقة وفقًا لشاشتك
ضبط الدقة وفقًا لشاشتك

في الخطوة التالية ، يتعين علينا تغيير حجم الصورة وفقًا لدقة العرض الخارجية. بالنسبة لشاشة OLED الخاصة بنا ، يبلغ عرضها 28 بكسل وارتفاعها 64 بكسل ، والتي قمت بتعديلها كما هو موضح في الصورة. اضبط عتبة السطوع للتأكد من أن الصورة واضحة إلى حد كبير (هذا هو المكان الذي تلعب فيه ميزة استخدام الصور ذات الألوان الصلبة ، وكلما زاد تدرجات الألوان ، ستنخفض جودة الصورة في شاشة أحادية اللون لأنها تتعارض مع حد السطوع).

تتمثل الخطوة التالية في احتواء الصورة على الشاشة مع الحفاظ على النسب سليمة وضبط التناظر الذي تتوفر له الخيارات بالفعل. يمكنك استكشاف هذه الخيارات للحصول على إخراج الصورة المطلوب. كمرجع ، تحصل أيضًا على خيار المعاينة المذهل!

الخطوة 10: إنشاء مصفوفة الصور النقطية

إنشاء مصفوفة الصور النقطية
إنشاء مصفوفة الصور النقطية

بعد ضبط معلمات الصورة ، في الخطوة التالية فقط حدد كود Arduino كتنسيق إخراج وانقر فوق إنشاء للحصول على مجموعة الصور النقطية المطلوبة!

هناك! لقد نجحت في تحويل صورتك إلى مجموعة الصور النقطية المطلوبة. لقد أجريت هذه العملية لما مجموعه 7 صور وحفظتها.

الخطوة 11: عرض الصور كتسلسل

عرض الصور على شكل تسلسل
عرض الصور على شكل تسلسل
عرض الصور على شكل تسلسل
عرض الصور على شكل تسلسل
عرض الصور على شكل تسلسل
عرض الصور على شكل تسلسل

لعرض الصور ، استخدمت وظيفة Arduino millis () لاستدعاء وظيفة draw () والتي هي أساسًا مجموعة من الأوامر لمسح الشاشة ، ورسم مجموعة الصور النقطية على OLED وتهيئة العرض. المنطق الرئيسي هو أنه بعد كل 3.5 ثانية ، يتم تغيير الصورة وعرض الصورة التالية. حسنًا ، 3.5 ثانية ليس رقمًا فريدًا ، لقد اكتشفت أنه إذا قسمت مدة اللحن بالكامل على 7 صور ، فقد حصلت على 3.5 ثانية تقريبًا لكل شاشة. يمكنك إضافة المزيد من الصور إلى هذا وتقليل وقت العرض لكل صورة إذا كنت ترغب في ذلك.

تشرح مقتطفات التعليمات البرمجية كيفية استدعاء الوظائف بناءً على وظيفة millis ().

يتم تخزين مصفوفات الصور النقطية بالكامل في ملف "pictures.h"

الخطوة 12: الكود الكامل:

هنا أشارك الكود بالكامل معكم جميعًا للتلاعب والتجربة!

بمجرد أن يبدو كل شيء على ما يرام ، حان الوقت لتحميله على السبورة:)

الخطوة الثالثة عشر: النتائج:

النتائج
النتائج
النتائج
النتائج
النتائج
النتائج
النتائج
النتائج

كما ترى ، اتضح أن الصور رائعة! وكذلك اللحن! أتمنى أن تكون قد شاهدت الفيديو الذي تواجدت فيه المظاهرة بأكملها.

آمل أن تكون نسخة PUBG من Arduino مشروعًا مثيرًا لجميع عشاق الألعاب والإلكترونيات هناك.

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

حتى المرة القادمة.

موصى به: