مشروع مصفوفة LED RGB ESP32-S3 4 - نقطة مائلة

مشروع مصفوفة LED RGB ESP32-S3 4 - نقطة مائلة

المشروع 4 - نقطة الميل (تحريك النقطة من خلال ميل مصفوفة مصابيح LED RGB ESP32-S3)

يقدم المشروع 4 مستشعر الحركة المدمج في وحدة مصفوفة LED RGB ESP32-S3. بدلاً من تحريك النقطة تلقائيًا (كما في المشروع 1) أو تمرير النص (المشاريع 2 و 3)، يتيح لك هذا المشروع التحكم في موضع النقطة ببساطة عن طريق إمالة اللوحة. تتحرك النقطة بسلاسة عبر شاشة RGB بقياس 8×8 استنادًا إلى القراءات الحية من مقياس التسارع QMI8658C على ظهر الوحدة.

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

نظرة عامة على وحدة مصفوفة LED RGB ESP32-S3

يستخدم هذا المشروع وحدة مصفوفة LED RGB ESP32-S3، والتي تتضمن:

  • وحدة التحكم الدقيقة ESP32-S3مع الواي فاي والبلوتوث
  • لوحة مصفوفة LED RGB بحجم 8×8(64 مصباح LED قابل للعناوين بشكل فردي)
  • QMI8658C مقياس التسارععلى الجهة الخلفية لاكتشاف الميل والحركة
  • منفذ USBللبرمجة والطاقة
  • أزرار التمهيد / إعادة التشغيل
  • أرجل GPIO القابلة للاستخدامللتوسع المستقبلي

يقرأ مستشعر QMI8658Cإكس,ي, وزقيم التسارع والاتجاه، مما يسمح للنقطة بالتحرك لأعلى/أسفل/يسار/يمين بناءً على كيفية ميل اللوح.:contentReference[oaicite:0]{index=0}

المشاريع التي تم تغطيتها في الفيديو (الطوابع الزمنية)

  • 00:00- مقدمة
  • ٠٢:٠١- تثبيت لوحات ESP32
  • 03:32- تثبيت المكتبات
  • ٠٥:٣٢- المشروع 1: النقطة المتحركة
  • :11- المشروع 2: تمرير النص
  • 12:59- المشروع 3: نص HTTP
  • 16:41-المشروع 4: نقطة مائلة (هذا المشروع)
  • ١٨:٥٥- المشروع ٥: سهم لأعلى
  • ٢٠:٠٢- المشروع 6: لعبة الهدف

من الموصى بشدة مشاهدة عرض الميل في الفيديو، حيث يمكنك أن ترى كيف يتفاعل النقطة بسلاسة مع اتجاه اللوح.:contentReference[oaicite:1]{index=1}

تثبيت لوحات ESP32 في بيئة تطوير أريلنو

إذا كنت قد أكملت أي مشروع سابق، فإن دعم اللوحة مثبت بالفعل. خلاف ذلك، اتبع هذه الخطوات:

  1. فتحFile > Preferences→ إضافة عنوان URL للوحات ESP32.
  2. اذهب إلىTools > Board > Boards Manager…وتثبيتESP32.
  3. اختر لوحة ESP32-S3 الخاصة بك تحتTools > Board.
  4. اختر منفذ COM الصحيح تحتTools > Port.

تثبيت المكتبات المطلوبة

يتطلب هذا المشروع المكتبات التالية:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX Library
  • QMI8658مستشعر الحركة

قم بتثبيتها في مدير المكتبة:

  1. فتحSketch > Include Library > Manage Libraries….
  2. ابحث عنأدافرويت نيو ماتريكس→ تثبيت.
  3. السماح بالتثبيت التلقائي لـأدافرويت جي إف إكسوأدافرويت نيون بيكسل.
  4. ابحث عنQMI8658بواسطة مؤلفه المدرج → تثبيت.:contentReference[oaicite:2]{index=2}

كيف يعمل المشروع 4

يوفر مستشعر QMI8658C بيانات تسارع باستمرار على المحاور X و Y و Z. لهذا المشروع، نستخدم فقط المحاور X و Y لتحديد:

  • كم يجب أن نتحرك بالنقطة إلى اليسار أو اليمين (محور X)
  • كم المسافة لتحريك النقطة لأعلى أو لأسفل (محور Y)

تتم مطابقة قيم المستشعر ضمن نطاق إحداثي من 0 إلى 7 (لشبكة LED 8×8). يتم تحديث موضع النقطة عدة مرات في الثانية، مما يعطي تأثير الانزلاق السلس عند إمالة الوحدة.:contentReference[oaicite:3]{index=3}

المشروع 4 - إعدادات الكود (نقطة الميل)

فيما يلي إعدادات يمكن للمستخدم تعديلها وتقع بالقرب من قمة كود المشروع. تظهر الرسمة الكاملة أدناه المقال تلقائيًا.

دبوس المصفوفة والحجم


// 8×8 RGB matrix configuration
const int MATRIX_PIN    = 14;   // fixed pin for this board
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

تركMATRIX_PIN14إنه متصل بشكل مباشر بالمصفوفة على متن المركبة.

سطوع


// Overall brightness (0–255)
uint8_t matrixBrightness = 40;

قم بزيادة السطوع إذا لزم الأمر، ولكن تجنب الفbrightness الشديد أثناء المشاهدة عن قرب.

لون النقطة


// Dot color (R, G, B)
uint8_t dotRed   = 0;
uint8_t dotGreen = 200;   // light green (default)
uint8_t dotBlue  = 0;

غيّر هذه القيم لإنشاء أي لون. أمثلة:

  • أحمر(255, 0, 0)
  • أصفر(255, 255, 0)
  • أبيض(255, 255, 255)

حساسية الحركة

لتجنب القفزات الشديدة، عادة ما يتم تحديد قيم تسريع الاستشعار أو تغيير نطاقها. تبدو الإعدادات النموذجية كالتالي:


// How aggressively tilt affects movement
float sensitivity = 4.0f;   // larger = faster movement across screen

إذا تحرك النقطة ببطء شديد → زِد القيمة. إذا تحركت النقطة بشكل مفاجئ → خفّضها.

سرعة التحديث (معدل التحديث)

يمكنك إضافة تأخير صغير بين التحديثات لتنعيم الحركة:


// Delay between position updates (ms)
int refreshDelayMs = 20;   // lower = smoother and faster response

القيم بين 10-30 مللي ثانية تبدو سريعة الاستجابة.

ملخص

يجلب المشروع 4 جهاز التسارع المدمج QMI8658C في ESP32-S3 إلى الحياة من خلال السماح لك بالتحكم في مصفوفة LED بالحركة الجسدية. تحدث ميلان صغير للوحة يحرك النقطة في نفس الاتجاه، مما يجعل هذا المشروع نقطة انطلاق مثالية للمشاريع الأكثر تقدمًا "السهم للأعلى" و"لعبة الهدف".

تم تحميل الرسم الكامل لنقطة الميل أدناه في هذه المقالة (تلقائيًا). من أجل فهم أفضل، شاهد عرض الميل في الفيديو، حيث يمكنك رؤية كيف تتحرك النقطة بسلاسة مع دوران اللوحة. الروابط لشراء وحدة مصفوفة LED RGB ESP32-S3 مشمولة تحت قسم التعليمات البرمجية.

الصور

ESP32 S3 Matrix
ESP32 S3 Matrix
ESP32 S3 Matrix  pin out
ESP32 S3 Matrix pin out
ESP32-S3_RGB_8x8_matrix-3
ESP32-S3_RGB_8x8_matrix-3
ESP32 S3 Matrix displaying rainbow heart
ESP32 S3 Matrix displaying rainbow heart
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3_RGB_8x8_matrix-2
802-ESP32-S3 RGB LED Matrix Project 4 - Tilt dot
اللغة: C++
تم النسخ!

الأشياء التي قد تحتاجها

الموارد والمراجع

ملفات📁

Fritzing File