هذا الدليل جزء من: مصفوفة مصابيح LED RGB من نوع ESP32-S3
مشروع رائع يمكنك تنفيذه لأغراض ترفيهية وعملية باستخدام وحدة ESP32-S3 RGB Matrix. تجد روابط لفيديوهات أخرى أسفل هذه المقالة.
مشروع مصفوفة LED RGB ESP32-S3 2 - نص متحرك
المشروع 2 - تمرير النص على مصفوفة LED ملونة RGB من ESP32-S3
في هذا المشروع، نقوم بتحويل مصفوفة LED RGB ESP32-S3 إلى لافتة نصية صغيرة. رسالة قصيرة (على سبيل المثالRobojaxتتدحرج عبر الشاشة RGB بحجم 8×8 ، ويمكنك بسهولة تغيير النص واللون والسطوع وسرعة التمرير مباشرة في الشفرة. هذا مفيد جداً للإشعارات البسيطة، أو بطاقات الأسماء، أو رسائل الحالة الصغيرة.
يتم عرض وشرح جميع المشاريع الستة في هذه السلسلة في فيديو واحد على يوتيوب. نفس الفيديو مدمج في هذه الصفحة، لذا يمكنك رؤية كيف يبدو التمرير النصي في الوقت الحقيقي وكيف يؤثر كل إعداد على الرسوم المتحركة. يتم تحميل الكود الكامل لهذا المشروع تلقائيًا أسفل المقال، ويمكنك شراء وحدة مصفوفة LED RGB ESP32-S3 من المتاجر التابعة المدرجة تحت قسم الكود.
يبني هذا المشروع على أساسيات المشروع 1 (تحريك النقطة والتحكم في الألوان) ويضيف عرض النصوص والتمرير باستخدام مكتبة NeoMatrix.


نظرة عامة على وحدة مصفوفة LED RGB ESP32-S3
الأجهزة هي نفسها في جميع المشاريع الستة: متحكم دقيق ESP32-S3 مع Wi-Fi و Bluetooth، مصفوفة LED RGB 8×8 (64 LED RGB قابلة للعناوين)، مقياس تسارع QMI8658C، منفذ USB، وأطراف IO قابلة للوصول.:contentReference[oaicite:0]{index=0}

- ESP32-S3وحدة المعالجة المركزية الرئيسية مع واي فاي/بلوتوث منخفض الطاقة لمشاريع متقدمة.
- مصفوفة RGB 8×8- 64 مصباح LED RGB للأيقونات والنصوص والرسوم المتحركة.
- QMI8658C مقياس التسارع- استخدم في المشاريع اللاحقة للانحدار والتوجه.
- منفذ USB- يُستخدم للطاقة والبرمجة عبر Arduino IDE.
- أطراف مكشوفة- دعك تستخدم اللوحة كـ ESP32 عادي لبقية واجهات الإدخال والإخراج.
- أزرار تشغيل / إعادة تعيين- لتحميل البرنامج الثابت وإعادة تشغيل الرسومات.
في المشروع 2 نركز بشكل أساسي على مصفوفة الدوال النصية NeoMatrix. لم يتم استخدام جهاز قياس التسارع بعد، لكن نفس اللوحة ستتعامل مع جميع التفاعلات ومشاريع الألعاب لاحقًا.

المشاريع التي تم تغطيتها في الفيديو (طوابع زمنية)
الفيديو الذي يأتي مع هذه المقالة يغطي جميع المشاريع الستة. التوقيتات التقريبية هي:
- 00:00- مقدمة
- ٠٢:٠١- تثبيت لوحات ESP32
- 03:32- تثبيت المكتبات
- ٠٥:٣٢- المشروع 1: النقطة المتحركة
- 11:11- المشروع 2: تمرير النص
- 12:59- المشروع 3: نص HTTP
- ١٦:٤١- المشروع 4: نقطة مائلة
- ١٨:٥٥- المشروع 5: السهم للأعلى
- ٢٠:٠٢- المشروع 6: لعبة الهدف
يُشجَّعك على مشاهدة الفيديو أثناء قراءة هذه المقالة. يعرض النص يتدفق مباشرة على مصفوفة LED ويستعرض جميع الخطوات في بيئة تطوير Arduino.
تثبيت لوحات ESP32 في بيئة تطوير أراودينو
قبل تشغيل كود تمرير النص، تأكد من تثبيت دعم ESP32 في بيئة تطوير Arduino لديك:
- فتح
File > Preferencesوأضف عنوان URL للوحات ESP32 إلى "عناوين مدراء اللوحات الإضافية". - اذهب إلى
Tools > Board > Boards Manager…ابحث عنESP32, وقم بتثبيت حزمة ESP32 الرسمية. - اختر لوحة مصفوفة RGB ESP32-S3 الخاصة بك من
Tools > Board. - قم بتوصيل الوحدة عبر USB واختر منفذ COM/السيريال الصحيح تحت
Tools > Port.
إذا كان نوع اللوحة أو المنفذ غير صحيح، فلن يتم تحميل البرنامج.
تثبيت NeoMatrix والمكتبات المطلوبة
تم تنفيذ نص التمرير باستخدام Adafruit NeoMatrix والاعتمادات الخاصة بها. في الفيديو، تم تثبيتها عبر مدير المكتبة.
ستحتاج إلى:
Adafruit NeoMatrixAdafruit NeoPixelAdafruit GFX Library
- افتح
Sketch > Include Library > Manage Libraries…. - ابحث عن
Adafruit NeoMatrixوانقرتثبيت. - عند الطلب، قم بالسماح له بالتثبيت
Adafruit GFXوAdafruit NeoPixelكمتطلبات.
إذا كانت التثبيت ناجحًا، يجب أن ترى رسومات أمثلة تحتFile > Examples > Adafruit NeoMatrixوFile > Examples > Adafruit NeoPixel.
المشروع 2 - إعدادات الكود (تمرير النص)
يتم تحميل رسم تخطيطي للنص الكامل تلقائيًا أدناه في هذه المقالة على الموقع الإلكتروني. هنا نركز فقط على قيم التكوين التي من المحتمل أن ترغب في تعديلها: الدبوس، حجم المصفوفة، السطوع، سلسلة النص، اللون، سرعة التمرير، واتجاه الاختياري.
جميع المقاطع أدناه مأخوذة من قسم التكوين في أعلى الرسم التخطيطي حتى تتمكن من ضبط السلوك بسرعة دون لمس المنطق الرئيسي.
دبوس المصفوفة والحجم
تمامًا مثل المشروع 1، يتم توصيل مصفوفة RGB بالـ GPIO 14 وتحتوي على 64 LED (8×8). تأكد من أن هذين السطرين متطابقين مع وحدتك:
// Pin connected to 8×8 RGB matrix
const int MATRIX_PIN = 14; // must be 14 on this module // Matrix size (width and height)
const int MATRIX_WIDTH = 8;
const int MATRIX_HEIGHT = 8;
إذا قمت بنسخ مثال من مكتبة NeoMatrix، فقد يستخدم دبوسًا أو حجمًا مختلفًا؛ تأكد دائمًا من تغييرها لتتناسب مع هذه اللوحة.
سطوع النص
عادةً ما يتم التحكم في السطوع بقيمة تتراوح بين 0 و 255، حيث 0 يعني إيقاف التشغيل و 255 يعني أقصى مستوى سطوع. عادةً ما تكون القيمة المتوسطة كافية.
// Overall matrix brightness (0–255)
uint8_t matrixBrightness = 40; // comfortable indoor brightness // In
setup():
matrix.setBrightness(matrixBrightness);
إذا كنت تستخدم اللوحة في بيئة مشرقة أو لفترة قصيرة، يمكنك زيادة هذه القيمة، ولكن تجنب الذهاب إلى مستوى مرتفع جدًا إذا كنت قريبًا من الشاشة.
نص للتمرير
الرسالة الفعلية مخزنة كسلسلة نصية. في الفيديو، النص المثالي هوRobojaxيمكنك تغييره إلى أي تسمية قصيرة أو رسالة تعجبك:
// Text to scroll on the 8×8 matrix const char scrollText[] = "Robojax";
// change this to your message
ضع في اعتبارك أن هذه مصفوفة بحجم 8×8 فقط، لذا ستستغرق الرسائل الطويلة وقتًا أطول في التمرير وقد تصبح صعبة القراءة.
لون النص (قيم RGB)
لون النص المتحرك يتم تحديده بواسطة مكونات الأحمر والأخضر والأزرق (0-255). على سبيل المثال، الأحمر النقي هو(255, 0, 0)، الأخضر النقي هو(0, 255, 0)، والأزرق النقي هو(0, 0, 255). في الرسم التخطيطي سترى شيئًا مثل:
// Text color (R, G, B) uint8_t textRed = 255; // red component uint8_t textGreen = 0; // green component uint8_t textBlue = 0; // blue component لتغيير اللون:
- أصفر
textRed = 255; textGreen = 255; textBlue = 0; - سماوي
textRed = 0; textGreen = 255; textBlue = 255; - أبيض
textRed = 255; textGreen = 255; textBlue = 255;
يعرض الفيديو أيضًا استخدام أداة اختيار الألوان عبر الإنترنت للعثور على قيم RGB ثم إدخالها في الشيفرة.:contentReference[oaicite:1]{index=1}
سرعة التمرير (التأخير بين الإطارات)
سرعة التمرير يتم التحكم بها من خلال قيمة تأخير بال milliseconds بين كل خطوة تحديث. قيمة أصغر تجعل النص يتحرك أسرع؛ بينما قيمة أكبر تبطئه. في الرسم، يجب أن تجد متغيرًا مثل:
// Delay between scroll steps (in milliseconds) int scrollDelayMs = 50;
// smaller = faster, larger = slower
أمثلة:
scrollDelayMs = 20;→ التمرير السريع.scrollDelayMs = 50;سرعة متوسطة (تشبه الفيديو).scrollDelayMs = 100;أو أكثر → تمرير بطيء وسهل القراءة.
داخل الـloop()، تُستخدم هذه القيمة في adelay(scrollDelayMs);استدعاء بعد كل إعادة رسم لموقع النص.
اتجاه التمرير (اختياري)
في مشروع "نص التمرير الأساسي"، عادةً ما نقوم بالتمرير إلى اليسار، لكن من المفيد تعريف متغير اتجاه رمزي حتى تتمكن من التجربة مع اتجاهات أخرى لاحقًا (يسار، يمين، أعلى، أسفل).
نمط شائع هو:
// Scroll direction selector // 0 = left, 1 = right, 2 = up, 3 = down
int scrollDirection = 0; // default: scroll to the left
الحلقة الرئيسية تقوم بالتحقق بعد ذلكscrollDirectionويحرك النص في الاتجاه المختار. لمشروع 2 يمكنك تركه عند0(يسارًا)، ولكن إذا قمت بمدّ الرسم التخطيطي لاحقًا يمكنك إضافة شروط مثل:
if (scrollDirection == 0) {
// move text left
} else if (scrollDirection == 1) {
// move text right
} else if (scrollDirection == 2) {
// move text up
} else if (scrollDirection == 3) {
// move text down
}
لهذا المقال نقوم فقط بتوثيق الإعداد. التنفيذ الكامل هو جزء من الكود المحمّل تحت المقال.
ملخص
تقوم المشروع 2 بتحويل مصفوفة مصابيح LED RGB ESP32-S3 الخاصة بك إلى شاشة نصية بسيطة ولكن لافتة للنظر. من خلال تعديل بعض المتغيرات في أعلى الشيفرة، يمكنك بسرعة تغيير:
- أي رسالة تظهر
scrollText). - لون النص
textRed,textGreen,textBlue). - سطوع المصفوفة
matrixBrightness). - سرعة التمرير
scrollDelayMs). - اتجاه التمرير
scrollDirectionإذا اخترت استخدامه).
المخطط الكامل لهذا المشروع متوفر أدناه في هذه المقالة (محمل تلقائيًا بواسطة الموقع). للحصول على تكوين تفصيلي خطوة بخطوة وعرض مباشر للنص المتدحرج أثناء العمل، تأكد من مشاهدة القسم المقابل من الفيديو. إذا أعجبك المشروع وتريد بناؤه بنفسك، يمكنك أيضًا شراء وحدة مصفوفة LED RGB ESP32-S3 من الروابط التابعة المدرجة أسفل الكود.
هذا الدليل هو جزء من: مصفوفة مصابيح LED RGB من نوع ESP32-S3
- مشاريع مصفوفة LED الملونة ESP32-S3 (لعبة الميل، النص، السهم، عرض الواي فاي)
- مشروع مصفوفة LED RGB ESP32-S3 3 - نص من الهاتف المحمول
- مشروع مصفوفة LED RGB ESP32-S3 4 - نقطة مائلة
- مشروع مصفوفة LED RGB ESP32-S3 5 - السهم دائما لأعلى
- مشروع مصفوفة LEDs RGB ESP32-S3 6 - لعبة Cible
- مشروع ساعة بتوقيت 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