سنقوم في هذا المشروع ببرمجة لعبة Whac-A-mole المسلية من خلال استخدام عصا التحكم و RGB وحساب النقاط وعرضها على وحدة عرض 7-segment
الأدوات المطلوبة
القطع المستخدمة
سنستخدم في هذا المشروع القطع التالية:
طريقة التوصيل
المنفذ | القطعة الالكترونية |
منفذ3 | RGB LED |
منفذ4 | 7-segment |
منفذ6 | عصا التحكم joystick |
الفكرة البرمجية
تحتوي وحدة RGBعلى 4 LED سنقوم ببرمجتها لتتم إضاءتها عشوائيا وبشكل سريع ، ونلاحق هذه الإضاءة عبر عصا التحكم، عند توافق توجيه العصا باتجاه LED المضاءة يتحول لونها من الأزرق إلى الأحمر وتسجيل نقطة تظهر على وحدة عرض 7-segment
تتحرك عصا التحكم في اتجاهات مختلفة ، نحتاج لاختبارها وتحديد القيمة التي تعطيها في كل اتجاه .
نقوم بتوصيل عصا التحكم باللوحة Orion في المنفذ 6
واستخدام الكود التالي لعرض القراءة على الشاشة
قم بتحريك عصا التحكم في اتجاه Y أعلى وأسفل وفي اتجاه X يمينا ويسارًا وتسجيل القيمة التي تعطيها في كل اتجاه لنستخدم هذه القيم في برمجة اللعبة
برمجة المشروع
سنحتاج بداية لانشاء 4 متغيرات
المتغير | الوظيفة |
LED | يشير إلى رقم LED في وحدة RGB |
Score | لتسجيل النقاط عند التصويب |
X | لتخزين قيمة حركة عصا التحكم في اتجاه X |
Y | لتخزين قيمة حركة عصا التحكم في اتجاه y |
نبدأ الكود بتعيين قيمة RGB LED وحدة 7-segment على قيمة 0
وتعيين العداد على 0
داخل حلقة Forever
نقوم بتعيين المتغير LED بحيث تتغير القيمة بصورة عشوائية من 0 – 4 وفق عدد LED أو من 0-8 لتقليل سرعة التغير في الإضاءة
ثم نضع أمر إضاءة LED بحيث تضاء حسب الرقم العشوائي كل مرة
نقوم بتعيين المتغيرين X و Y على حركة عصا التحكم Joystick
نستخدم جملتين شرطيتين if ..then
بحيث إذا كانت قيمة LED تساوي 1 (أي LED1 مضاءة)
وتم تصويب عصا التحكم في اتجاه LED (نضع قيمةY وفق القيمة التي حصلنا عليها عند اختبار عصا التحكم)
نضيف الأمر بحيث تتغير الإضاءة من أزرق إلى أحمر
وتسجيل نقطة في المتغير Score
وعرض عدد النقاط على وحدة 7-segment
يتم كتابة الأكواد للاتجاهات و LED الأخرى بنفس الطريقة مع وضع القيم المناسبة
قم بالإطلاع على الكود كاملا :
وللمزيد من المعلومات حول الكود يمكنك مراجعة درس جولة حول الأوامر البرمجية.