هذا الدليل جزء من: مصفوفة مصابيح LED RGB من نوع ESP32-S3
مشروع رائع يمكنك تنفيذه لأغراض ترفيهية وعملية باستخدام وحدة ESP32-S3 RGB Matrix. تجد روابط لفيديوهات أخرى أسفل هذه المقالة.
مشروع مصفوفة LEDs RGB ESP32-S3 6 - لعبة Cible
المشروع 6 - لعبة الهدف (ميل اللوحة لضرب الدائرة)
المشروع 6 هو المشروع النهائي والأكثر تفاعلية في سلسلة مصفوفة LED RGB ESP32-S3. باستخدام مستشعر الحركة QMI8658C المدمج، يمكنك إمالة اللوحة لتحريك نقطة حول المصفوفة 8×8. توجد "منطقة هدف" دائرية في منتصف الشاشة. عندما تلمس نقطتك الدائرة، يتغير اللون و(اختياريًا) يصدر جرس صوتيًا. وهذا يخلق لعبة بسيطة ولكنها ممتعة بشكل مدهش لتوازن/تنسيق الحركة.
تظهر جميع المشاريع الستة في فيديو واحد على يوتيوب (مضمن في هذه الصفحة). يتم تحميل كود اللعبة الكامل تلقائيًا أسفل هذه المقالة، وتظهر روابط الشراء التابعة للوحدة تحت قسم الكود.

نظرة عامة على وحدة مصفوفة LEDs RGB ESP32-S3
تتضمن هذه الوحدة:

- مت controlador ESP32-S3(Wi-Fi + BLE)
- مصفوفة LED RGB بحجم 8×8(64 مصباح LED قابلة للع address)
- مقياس تسارع QMI8658Cلإحساس الميل والتوجيه
- يو إس بي-سيمنفذ للطاقة والبرمجة
- إعادة تشغيل / إعادة تعيينأزرار
- متوفردبابيس GPIOلملحقات مثل الصفارات أو المستشعرات
بالنسبة لهذه اللعبة، فإن مقياس التسارع ضروري - فهو يُبلغ باستمرار عن ميل X/Y، مما يسمح للنقطة بالتحرك بسلاسة بناءً على زاوية اللوحة. تُظهر قسم الفيديو لهذا المشروع بوضوح كيف تنزلق النقطة وتستجيب أثناء ميولك للوحدة لليسار/اليمين/الأمام/الخلف.:contentReference[oaicite:0]{index=0}

المشاريع التي تم تغطيتها في الفيديو (الطوابع الزمنية)
- 00:00- مقدمة
- 02:01- تثبيت لوحات ESP32
- 03:32- تثبيت المكتبات
- 05:32- المشروع 1: النقطة المتحركة
- 11:11- المشروع 2: تمرير النص
- 12:59- المشروع 3: نص HTTP
- ١٦:٤١- المشروع 4: نقطة الميل
- ١٨:٥٥- المشروع 5: سهم لأعلى
- ٢٠:٠٢-المشروع 6: لعبة الهدف (هذا المشروع)
تظهر هذه الجزء من الفيديو كل من حركة النقطة ومنطق اكتشاف الدائرة في العمل، مما يسهل فهم كيفية تصرف الإحداثيات.:contentReference[oaicite:1]{index=1}

تثبيت لوحات ESP32 في بيئة تطوير أريدوينو
إذا كنت قد أتممت المشاريع السابقة، فإن تركيب اللوحة قد تم. خلاف ذلك اتبع:
File > Preferences→ أضف رابط لوحة ESP32.Tools > Board > Boards Manager…قم بتثبيت "ESP32".- اختر لوحة ESP32-S3 تحت
Tools > Board. - حدد منفذ COM الصحيح تحت
Tools > Port.
تثبيت المكتبات المطلوبة
هذه اللعبة تستخدم:
Adafruit NeoMatrixAdafruit NeoPixelAdafruit GFXQMI8658حساس الحركة
قم بتثبيتها عبر:
Sketch > Include Library > Manage Libraries…- بحث:نيو مَاتريكس→ تثبيت
- تثبيت الاعتمادات (جرافيكس+نيوبكسل)
- بحث وتثبيتQMI8658
كيف تعمل لعبة الهدف
يقدم مقياس التسارع QMI8658C قيم ميل المحور X و Y. هذه القيم مرتبطة بإحداثيات LED (من 0 إلى 7 في كلا الاتجاهين). تتحرك النقطة الخاصة بك عبر المصفوفة بناءً على زاوية اللوحة.
دائرة (أو حلقة) مرسومة على الشاشة كـ "منطقة الهدف." تفوز بـ "ضربة" كلما تداخل النقطة مع الدائرة. في تلك اللحظة:
- تغير لون الهدف (عشوائي أو محدد مسبقًا)
- يصدر جهاز التنبيه الاختياري صوت صفير (إذا كان متصلاً)
نظرًا لصغر المصفوفة، يتم رسم الدائرة باستخدام فحص بسيط لنصف القطر. اللعبة تعمل بشكل مستمر، لذا يمكنك الميل للأمام والخلف لضرب الدائرة مرارًا وتكرارًا.
المشروع 6 - إعدادات الكود (التحكم في اللعبة)
فيما يلي الإعدادات الرئيسية القابلة للتعديل من قبل المستخدم والمتواجدة في أعلى الرسم التخطيطي. يتم تضمين الشيفرة الكاملة تلقائيًا أسفل هذه المقالة.
تهيئة المصفوفة
// Matrix configuration
const int MATRIX_PIN = 14;
const int MATRIX_WIDTH = 8;
const int MATRIX_HEIGHT = 8;
مصفوفة RGB متصلة بشكل مباشر بـ GPIO 14 - لا تغير هذا.
سطوع
uint8_t matrixBrightness = 40; // 0–255
للاستخدام الداخلي، 30-60 هو المثالي.
لون النقطة
// Dot color (R, G, B)
uint8_t dotRed = 255;
uint8_t dotGreen = 255;
uint8_t dotBlue = 255;
هذه هي النقطة التي تتحرك من خلالها عند إمالة اللوحة.
لون الدائرة (عشوائي أو ثابت)
// Circle (target) color
uint8_t circleRed = 0;
uint8_t circleGreen = 0;
uint8_t circleBlue = 255;
// If true, choose a new random color each time the dot hits
bool randomCircleColor = true;
مجموعةrandomCircleColor = false;إذا كنت تريد لونًا ثابتًا.
نصف قطر الدائرة
// Target size (radius)
int targetRadius = 3; // 3 fits well on 8×8 matrix
تجعل الأقطار الأكبر اللعبة أسهل؛ بينما تجعل الأقطار الأصغر اللعبة أكثر صعوبة.
حساسية الميل
// Sensitivity of tilt mapping
float tiltScale = 4.0f; // increase = faster movement across screen
إذا تحرك النقطة بسرعة كبيرة أو قفزت، قلل من هذا الرقم.
إعدادات الجرس (اختياري)
// Buzzer pin (optional)
int buzzerPin = 6; // connect buzzer + to pin 6, – to GND
bool useBuzzer = true; // set false to disable sound
إذا لم تقم بتوصيل صفارة، فقط قم بتعيينuseBuzzer = false;
ملخص
يجمع المشروع 6 كل ما تم تعلمه من المشاريع السابقة: رسم المصفوفات، إدخال مستشعر الحركة، التحكم في الألوان، تنعيم الحركة، وصوت اختياري. يميل اللوح لتحريك النقطة، وضغط الدائرة يغير لونها وتفعيل صفارة (اختياريًا). إنها عرض ممتع للكشف عن الحركة على شاشة RGB مدمجة.
يتم عرض رمز "لعبة الهدف" الكامل تلقائيًا أسفل هذه المقالة. يمكنك أيضًا مشاهدة الجزء الخاص بمشروع 6 من الفيديو لرؤية كيفية تحرك النقطة وكيف يتم الكشف عن الضربات. إذا كنت ترغب في بناء لعبتك الخاصة، ستظهر روابط تابعة لشراء وحدة مصفوفة LED RGB ESP32-S3 تحت قسم الرمز.
هذا الدليل هو جزء من: مصفوفة مصابيح LED RGB من نوع ESP32-S3
- مشاريع مصفوفة LED الملونة ESP32-S3 (لعبة الميل، النص، السهم، عرض الواي فاي)
- مشروع مصفوفة LED RGB ESP32-S3 2 - نص متحرك
- مشروع مصفوفة LED RGB ESP32-S3 3 - نص من الهاتف المحمول
- مشروع مصفوفة LED RGB ESP32-S3 4 - نقطة مائلة
- مشروع مصفوفة LED RGB ESP32-S3 5 - السهم دائما لأعلى
- مشروع ساعة بتوقيت NTP + Wi-Fi لمصفوفة LED RGB ESP32-S3 -1 ساعة أساسية
- مشروع ساعة الإنترنت لشاشة مصفوفة LED RGB ESP32-S3 - عرض الوقت والتاريخ متعدد الألوان 2 ساعة
- مشروع ساعة الإنترنت لمصفوفة LED RGB ESP32-S3 - 3 ألوان ليلية مع التاريخ
- مشروع ساعة إنترنت مصفوفة LED RGB ESP32-S3 - 5 ألوان قوس قزح
- مشروع ساعة الإنترنت لشبكة مصفوفة LEDs RGB ESP32-S3 - 4 ألوان عشوائية
- اختبار مصفوفة LED RGB ESP32-S3 لإعداد RGB و GRB
الأشياء التي قد تحتاجها
-
أمازون
-
إي باي
-
علي إكسبريساشترِ مصفوفة RGB ESP32-S3 من علي إكسبريسs.click.aliexpress.com
-
علي إكسبريسشراء مصفوفة RGB ESP32-S3 من علي إكسبريس (2)s.click.aliexpress.com
الموارد والمراجع
-
داخليأداة اختيار الألوانrobojax.com
ملفات📁
Fritzing File
-
esp32-S3-supermini-tht fritzing part
esp32-S3-supermini-tht.fzpz0.02 MB