يلعب الإعلان على الشبكة الإعلانية دورًا مهمًا للغاية في التسويق ، وهناك عدة طرق مثل الصحف والملصقات واللوحات المضيئة وما إلى ذلك ، ولكن لوحات العرض الرقمية LED أصبحت شائعة في الوقت الحاضر بسبب موثوقيتها ومزاياها على الرغم من أنها باهظة الثمن بعض الشيء ، إلا أنها متينة وقابلة للتخصيص ، مثل نص الإعلان يمكن تغييره بسهولة كلما دعت الحاجة ، كما يمكن استخدامها كلوحة ملاحظات رقمية في أي مكان عام. استخدمنا سابقًا مصفوفة 8x8 LED مع العديد من اللوحات للتحكم في النص المعروض عليها ، وسنستخدم اليوم شاشة P10 مع Arduino.
في هذا البرنامج التعليمي ، سنستخدم وحدة عرض نقطية 32x16 LED والتي تُعرف أيضًا باسم P10 LED Display Module لعرض نص التمرير باستخدام Arduino UNO. يمكن أن تتالي وحدات P10 لبناء أي حجم للوحة الإعلان.
المكونات المطلوبة
- اردوينو UNO-1
- وحدة عرض 32 * 16 P10 LED -1
- 16 دبوس موصل FRC -1
- 5 فولت تيار مستمر ، 3 أمبير SMPS
- موصلات
عمل وحدة مصفوفة P10 LED
A P10 شاشة LED وحدة هو الأكثر مناسبة لتصميم أي حجم لوحة عرض LED في الهواء الطلق أو في الأماكن المغلقة. تحتوي هذه اللوحة على إجمالي 512 مصباح LED عالي السطوع مثبت على غلاف بلاستيكي مصمم للحصول على أفضل نتائج عرض. يمكن دمج أي عدد من هذه اللوحات في أي هياكل صف أو أعمدة لتصميم لافتة LED جذابة.
حجم الوحدة 32 * 16 يعني أن هناك 32 مصباح LED في كل صف و 16 مصباح LED في كل عمود. لذلك يوجد إجمالي 512 رقمًا من مصابيح LED في كل وحدة وحدة.
ميزات وحدة مصفوفة P10 LED:
- سطوع: 3500-4500nits
- أقصى استهلاك للطاقة: 20 واط
- مدخلات الجهد: DC 5V
- IP65 مقاوم للماء
- تكوين 1 وات بكسل
- زاوية مشاهدة عالية
- نسبة التباين العالية
وصف دبوس وحدة العرض P10:
- تمكين: يستخدم هذا الدبوس للتحكم في سطوع لوحة LED ، من خلال إعطاء نبضة PWM لها.
- أ ، ب: تسمى هذه دبابيس التحديد المتعدد. يأخذون المدخلات الرقمية لتحديد أي صفوف متعددة.
- ساعة التحول (CLK) وساعة التخزين (SCLK) والبيانات: هذه هي دبابيس التحكم في سجل الإزاحة العادية. هنا يتم استخدام سجل التحول 74HC595.
مخطط الرسم البياني
يرد أدناه مخطط الدائرة الكاملة لوحدة P10 مع Arduino:
وحدات العرض Arduino UNO و P10 مترابطة وفقًا لتعيين الدبوس كما هو موضح أدناه:
وحدة P10 LED |
اردوينو UNO |
ممكن |
9 |
أ |
6 |
ب |
7 |
CLK |
13 |
SCLK |
8 |
البيانات |
11 |
GND |
GND |
ملاحظة: قم بتوصيل طرف الطاقة للوحدة P10 بـ 5V DC SMPS بشكل منفصل. يوصى بتوصيل مصدر طاقة بجهد 5 فولت و 3 أمبير في وحدة واحدة من وحدة P10 LED. إذا كنت تخطط لتوصيل المزيد من أرقام الوحدة ، فقم بزيادة تصنيف SMPS وفقًا لذلك.
برمجة وحدة P10 LED مع Arduino
بعد الانتهاء بنجاح من إعداد الأجهزة ، حان الوقت الآن لبرمجة Arduino. يتم تقديم الكود الكامل لشاشة العرض 10 ليد اردوينو مع الفيديو في نهاية هذا البرنامج التعليمي. ويرد أدناه الوصف التدريجي للكود.
بادئ ذي بدء ، قم بتضمين جميع المكتبات التابعة في البرنامج. نحن هنا نستخدم مكتبة "DMD.h" لعمليات P10 التي تقودها ، قم بتنزيل هذه المكتبة من هنا وقم بتثبيتها في Arduino IDE. بعد ذلك قم بتضمين مكتبة " TimerOne.h " والتي سيتم استخدامها لمهام المقاطعة. يمكن تنزيل هذه المكتبة من هنا.
بعد ذلك ، قم بتضمين جميع مكتبة الخطوط المطلوبة ، في حالتنا نحن نستخدم “Arial Black font” للعرض.
#تضمن
في الخطوة التالية ، حدد عدد الصفوف والأعمدة للوحة عرض LED. في حالتنا ، نحن نستخدم وحدة واحدة فقط ، لذا ستكون قيمة ROW وقيمة COLUMN 1. ثم حدد اسم الخط- Arial_Black_16 لتمرير النص على لوحة العرض.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW ، COLUMN) ؛
وظيفة scan_module () التي تتحقق من أي بيانات واردة من جانب Arduino عبر محطات SPI. إذا كانت الإجابة بنعم ، فسيؤدي ذلك إلى تشغيل دبوس المقاطعة للقيام بأحداث معينة.
scan_module () باطلة {led_module.scanDisplayBySPI () ؛ }
داخل الإعداد () ، قم بتهيئة المؤقت وإرفاق المقاطعة بالوظيفة scan_module . الوظيفة clearScreen (صواب) تستخدم لضبط جميع وحدات البكسل متوقفة عن العمل في البداية لمسح لوحة العرض.
إعداد باطل () {Timer1.initialize (2000) ؛ Timer1.attachInterrupt (scan_module) ؛ led_module.clearScreen (صحيح) ، }
بعد ذلك ، لعرض سلسلة في الوحدة النمطية ، حدد الخط باستخدام وظيفة selectFont () واطبع رسالة سلسلة " مرحبًا بك في Circuit Digest " في الشاشة باستخدام وظيفة drawMarquee ().
led_module.selectFont (FONT) ، led_module.drawMarquee ("مرحبًا بكم في Circuit Digest" ، 25 ، (32 * ROW) ، 0) ؛
أخيرًا ، لتمرير النص على لوحة شاشة LED ، قم بتحويل الرسالة بأكملها من اليمين إلى اليسار باستخدام فترة زمنية معينة.
بداية طويلة = مللي () ؛ توقيت طويل = بداية ؛ علم منطقي = خطأ ؛ while (! flag) {if ((timming + 20) <millis ()) {flag = led_module.stepMarquee (-1، 0)؛ التوقيت = ميلي () ؛ }}
هذه هي الطريقة التي يمكنك بها إنشاء لوحة نصية متحركة باستخدام مصفوفة Arduino و LED.
ويرد أدناه رمز كامل وفيديو مظاهرة.