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

لعبة تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم: 5 خطوات (بالصور)
لعبة تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم: 5 خطوات (بالصور)

فيديو: لعبة تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم: 5 خطوات (بالصور)

فيديو: لعبة تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم: 5 خطوات (بالصور)
فيديو: لعبة تنس الطاولة على أردوينو مع شاشة كريستالية 2024, ديسمبر
Anonim
تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم
تنس الطاولة مع مصفوفة LED واردوينو وعصا التحكم

هذا المشروع مخصص للمبتدئين وذوي الخبرة على حد سواء. على المستوى الأساسي ، يمكن أن يتم ذلك باستخدام لوح التجارب وأسلاك التوصيل ويتم تعليقه على قطعة من مادة الخردة (كنت أستخدم الخشب) باستخدام Blu-Tack وبدون لحام. ومع ذلك ، على مستوى أكثر تقدمًا ، يمكن لحامه بلوحة أداء أو لوحة PCB مخصصة.

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

الخطوة 1: الأجزاء

تحتاج إلى صنع لعبة Pong ؛

  • 1x An Arduino (أي نوع سيعمل)
  • 4x MAX7219 8x8 مصفوفات LED
  • 2x المقود
  • 1x بيزو الجرس (اختياري)
  • 15x أسلاك توصيل أنثى-أنثى (3 مجموعات من 5)
  • 15x أسلاك توصيل معزز للذكور والإناث (3 مجموعات من 5)
  • 18x سلك توصيل ذكر-ذكر
  • 1x اللوح
  • 1x 220Ω المقاوم

بدلاً من لوحة Arduino Uno أو Nano ، يمكنك استخدام لوحة Arduino القائمة على اللوح ؛

  • 1x ATmega328p 28pin IC
  • مذبذب كريستال 1x16 كيلو هرتز
  • مكثفات سيراميك 2x 22pF
  • 1x USB FTDI UART Converter
  • 1x 100 فائق التوهج مكثف كهربائيا
  • 1x Micro USB Breakout (اختياري)

أدوات؛

  • كمبيوتر شخصي مع Arduino IDE (ومكتبة LedControl)
  • كبل USB مناسب لجهاز Arduino الخاص بك
  • بنك الطاقة لتشغيل اللعبة بعيدًا عن جهاز الكمبيوتر الخاص بك

الخطوة 2: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك

الأسلاك بسيطة للغاية لأن كل ما تحتاجه هو أسلاك توصيل لتوصيل رؤوس المصفوفات وعصا التحكم بـ Arduino. المضاعفات الوحيدة هي القوة لأن Arduino Uno لديه 3 اتصالات GND واتصال 5v واحد. هذا هو المكان الذي يأتي فيه اللوح ويعمل كقضيب لتوزيع الطاقة لجميع المكونات ، إذا كنت تستخدم NANO ، فإن اللوح يخدم نفس الغرض بالإضافة إلى السماح لك بتوصيل كل شيء.

للأسلاك اتبع هذه الوصلات.

  • ذراع التحكم الأيسر - GND و 5 فولت لقضبان الطاقة الخاصة بهما. SW - pin 9، VRx - A0، VRy - A1.
  • ذراع التحكم الأيمن - GND و 5 فولت لقضبان الطاقة الخاصة بهما. SW - pin 8، VRx - A2، VRy - A3.
  • مصفوفة LED في أقصى اليمين - GND و 5 فولت إلى قضبان الطاقة الخاصة بكل منهما. DIN - 13 ، CS - 11 ، CLK - 12. (حسب السطر 25)
  • يمكن ربط جميع مصفوفات LED الأخرى بسلسلة من إخراج أول مصفوفة من اليمين إلى اليسار حتى يعمل الكود بشكل صحيح.
  • الجرس الاختياري - الأنود (+) من خلال المقاوم المحدد الحالي بقدرة 220 درجة إلى دبوس 10 ، الكاثود (-) - GND.

الخطوة 3: الأسلاك البديلة

الأسلاك البديلة
الأسلاك البديلة
الأسلاك البديلة
الأسلاك البديلة
الأسلاك البديلة
الأسلاك البديلة

بعد توصيله مع Arduino UNO لتوفير المساحة ، قررت وضع Arduino IC من UNO على اللوح باستخدام مذبذب كريستال 16 ميجا هرتز وزوج من المكثفات 22pF من كل جانب إلى الأرض. أشعر أن هذا كان تعديلًا جديرًا بالاهتمام لأنه يجعل المشروع يبدو أكثر إتقانًا وانتهاءًا أكثر ، ولكن عليك استخدام مبرمج USB FTDI لتحديث البرنامج.

الخطوة 4: الكود + التفسير

لتحميل الكود إلى Arduino ، قم بتنزيل مكتبة LedControl من GitHub هنا ،

github.com/wayoda/LedControl وأضف ملف Zip أو قم بإضافته من خلال Library Manager داخل IDE. بعد ذلك ، افتح الرسم المرفق ، حدد Arduino الخاص بك في اللوحة وإعدادات المنفذ ضمن الأدوات وقم بتحميله على اردوينو.

تفسير

السطر 1: يضيف المكتبة

السطر 5-23: إعداد كافة المتغيرات والثوابت وأرقام التعريف.

السطر 25: يقوم بإعداد LED Martix ويضبط دبابيس التحكم وعدد الشاشات.

السطر 27: إعداد وظيفة إعادة الضبط.

السطر 30-35: وظيفة إيقاف التشغيل لتشغيل / إيقاف تشغيل جميع الشاشات معًا.

السطر 38-43: وظيفة SetIntensity لتعيين سطوع جميع شاشات العرض معًا.

السطر 46-51: وظيفة ClearAll لمسح جميع شاشات العرض معًا.

خط 53-64: وظيفة عصا التحكم للحصول على موضع أذرع التحكم ، قم بتعيينها إلى مواقع الخفاش السبعة المحتملة لضرب الكرة ثم تحريك المضرب إلى الموضع الجديد.

الخط 67-435: الوظيفة التي تحرك الكرة إلى اللاعب الأيسر بالارتفاع والسرعة المحددين ، وتتحقق مما إذا كان اللاعب قد سددها واستمر في ذلك وضبط حالة الاصطدام على صحيح أو ارتدت الكرة للخلف ، وتضيف 1 إلى النتيجة و يزيد السرعة.

السطر 438-811: الوظيفة التي تنقل الكرة إلى اللاعب الأيمن بالارتفاع والسرعة المحددين ، وتتحقق مما إذا كان اللاعب قد سددها واستمر في ذلك وضبط حالة الاصطدام على صحيح أو ارتدت الكرة للخلف ، وتضيف 1 إلى النتيجة و يزيد السرعة.

سطر 813-823: وظيفة لعرض وجه مبتسم أو علامة أو علامة تقاطع أو علامة استفهام على الشاشة المحددة (0 على اليمين إلى 3 على اليسار).

السطر 861-979: وظيفة لعرض الأرقام من 0 إلى 9 على الشاشة المحددة.

سطر 981-1047: وظيفة لعرض النتيجة على كل جانب لاعب من الشاشة.

السطر 1049-1064: وظيفة للتحقق مما إذا كان المشغل جاهزًا.

السطر 1066-1076: قسم الإعداد من الكود الخاص بالكود الذي يتم تشغيله مرة واحدة عند بدء تشغيل البرنامج.

السطر 1078-1136: قسم الحلقة الرئيسية لمنطق اللعبة حيث يتم استخدام جميع الوظائف وحيث يتم تحديد الفائز ومن ثم إعادة تشغيل البرنامج بعد 5 ثوانٍ من إظهار النتيجة.

الخطوة 5: شكرا للقراءة

شكرا للقراءة
شكرا للقراءة

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

موصى به: