العرض علي مصفوفة 8×8 LED باستخدام الاردوينو اكتب تعليقُا

 تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

في هذا المشروع ، سنقوم بتصميم شاشة عرض مصفوفة 8×8 LED ، لذلك سنقوم بتوصيل وحدة مصفوفة 8×8 LED مع الاردوينو . تحتوي مصفوفة 8×8 LED على 64 LED (الثنائيات الباعثة للضوء) مرتبة في شكل مصفوفة ، ومن هنا جاء اسم مصفوفة LED.

يمكن عمل هذه المصفوفات عن طريق دائرة 64 LEDs ، إلا أن هذه العملية تستغرق وقتًا طويلاً. وهي متوفرة الآن في أشكال مضغوطة كما هو موضح في الصورة أدناه. تتوفر هذه الوحدات المدمجة بأحجام مختلفة والعديد من الألوان. تكلفة الوحدة هي نفس تكلفة 64 مصباح LED ، لذلك من الأسهل بالنسبة للهواة العمل عليها.

تحتوي مصفوفة LED العارية على 16 دبوسًا مع 8 موجبات مشتركة و 8 سلبية مشتركة أخرى. لتوصيل هذه المصفوفة مباشرة بـ UNO ، نحتاج إلى الاحتفاظ بـ 16 دبوسًا على UNO. مع انخفاض دبابيس الإخراج على UNO ، لا يمكننا توفير 16 PINS. لذلك نحن بحاجة إلى توصيل هذه المصفوفة بشريحة تشغيل. تأتي شريحة المحرك هذه مع المصفوفة كمجموعة موضحة في الشكل أدناه.

8x8-LED-Matrix-Module

تحتوي مصفوفة LED العارية على 16 دبوسًا مع ثمانية اطراف موجبة مشتركة و ثمانية اطراف سالبة مشتركة أخرى. لتوصيل هذه المصفوفة مباشرة بـ UNO ، نحتاج إلى الاحتفاظ بـ 16 دبوسًا على UNO. مع انخفاض دبابيس الإخراج على UNO ، لا يمكننا توفير 16 PINS. لذلك نحن بحاجة إلى توصيل هذه المصفوفة بشريحة تشغيل او ما بدائرة قيادة لهذه هذه LEDs  موضحة في الشكل أعلاه .

سيتم ربط هذه الوحدة مع الاردوينو  لعرض الحروف الهجائية ، ومن ثم عرض المصفوفة. في البداية ، لربط مصفوفة LED مع الاردوينو ، نحتاج إلى تنزيل مكتبة مصممة خصيصًا لـ LED MATRIX. ستكون هذه المكتبة متاحة على:

https://github.com/shaai/Arduino_LED_matrix_sketch/archive/master.zip

بعد تنزيل ملف Zip ، قم باستخراج المحتويات إلى مجلد الاردوينو . (انتقل إلى القرص المحلي حيث تم تثبيت برنامج ARDUINO NIGHTLY ، وافتح المجلد ، وابحث عن المجلد المسمى “Library” ، واستخرج محتويات الملف المضغوط في هذا المجلد ، وأعد تشغيل البرنامج ، وستتمكن الآن من استخدام ميزات واجهة المصفوفة)

المكونات المطلوبة

مخطط الدائرة وشرحها

يتم عرض التوصيلات التي تمت بين الاردوينو ووحدة مصفوفة LED في الجدول أدناه.

PIN2 ——————LOAD or CHIPSELECT of LED module

PIN3——————CLOCK of LED module

PIN4 ——————DATAIN of LED module

+5V ——————VCC of LED module

GND ——————GND of LED module

يظهر الرسم التخطيطي لدائرة شاشة عرض مصفوفة LED 8 * 8 في الشكل أدناه.

Untitled

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

#include “LedControlMS.h” #define NBR_MTX 1 LedControl lc=LedControl(4,3,2, NBR_MTX); lc.writeString(0,”CIRCUITDIGEST”); lc.clearAll();

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

نحتاج أولاً إلى استدعاء الملف الرئيسي لربط مصفوفة LED بـ الاردوينو . وهذا هو ”#include“ LedControlMS.h ”” ، يستدعي ملف المكتبة الخاصة.

لدينا ميزة مع هذه الوحدات ، حيث يمكننا توصيل العديد من الوحدات في سلسلة وبرمجتها معًا كشاشة واحدة. تكون هذه الميزة مفيدة عندما نحتاج إلى وحدة عرض يمكنها عرض أحرف متعددة في كل مرة. لذلك نحن بحاجة إلى إخبار وحدة التحكم بعدد الشاشات التي نربطها.

يوجد في هذه الوحدة ثلاثة دبابيس بشكل أساسي ؛ الدبابيس هي DATAIN (دبوس استقبال البيانات) ، CLOCK (دبوس الساعة) ، و CHIPSELECT (دبوس استقبال الأوامر).

الآن نحن بحاجة إلى إخبار UNO أين نربط هذه الدبابيس . يتم ذلك عن طريق الأمر “LedControl lc = LedControl (4،3،2، NBR_MTX)؛ “. “lc.writeString (0،” CIRCUITDIGEST “) ؛” ، يتم استخدام هذا الأمر لإخبار UNO بالأحرف التي سيتم عرضها على مصفوفة LED. مع ما ورد أعلاه ، تعرض الشاشة “CIRCUITDIGEST” ، مع كل حرف مرة واحدة.

نحتاج إلى مسح ذاكرة شريحة العرض قبل إرسال أي بيانات أخرى ، ويتم ذلك عن طريق الأمر “lc.clearAll ()؛”.

بهذه الطريقة يمكننا بسهولة ربط مصفوفة 8×8 LED بـ Arduino Uno.

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال

الكود البرمجي

لتحميل الكود البرمجي اضغط هنا

// Arduino 8×8 LED Matrix Code

#include <LedControlMS.h>

//pin 4 is connected to the DataIn

// pin 3 is connected to the CLK

//pin 2 is connected to LOAD

#define NBR_MTX 1 //number of matrices attached is one

LedControl lc=LedControl(4,3,2, NBR_MTX);//

void setup()

{

for (int i=0; i< NBR_MTX; i++)

{

lc.shutdown(i,false);

/* Set the brightness to a medium values */

lc.setIntensity(i,8);

/* and clear the display */

lc.clearDisplay(i);

delay(100);

}

}

void loop()

{

lc.writeString(0,”CIRCUITDIGEST”);//sending characters to display

lc.clearAll();//clearing the display

delay(1000);

}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *