في هذا المشروع ، سنقوم بتصميم شاشة عرض مصفوفة 8x8 LED ، لذلك سنقوم بتوصيل وحدة مصفوفة 8x8 LED مع Arduino Uno. تحتوي مصفوفة 8x8 LED على 64 LED (الثنائيات الباعثة للضوء) مرتبة في شكل مصفوفة ، ومن هنا جاء اسم مصفوفة LED.
يمكن عمل هذه المصفوفات عن طريق دائرة 64 LEDs ، ولكن هذه العملية تستغرق وقتًا طويلاً. وهي متوفرة الآن في أشكال مدمجة كما هو موضح في الصورة أدناه. تتوفر هذه الوحدات المدمجة بأحجام مختلفة والعديد من الألوان. تكلفة الوحدة هي نفس تكلفة 64 مصباح LED ، لذلك من الأسهل بالنسبة للهواة العمل عليها.
تحتوي مصفوفة LED العارية على 16 دبوسًا مع 8 موجبات مشتركة و 8 سلبية مشتركة أخرى. لتوصيل هذه المصفوفة مباشرة بـ UNO ، نحتاج إلى الاحتفاظ بـ 16 دبوسًا على UNO. مع انخفاض دبابيس الإخراج على UNO ، لا يمكننا توفير 16 PINS. لذلك نحن بحاجة إلى توصيل هذه المصفوفة بشريحة تشغيل. تأتي شريحة المحرك هذه مع المصفوفة كمجموعة موضحة في الشكل أدناه.
سيتم ربط هذه الوحدة مع Arduino لعرض الحروف الهجائية ، ومن ثم عرض المصفوفة. بادئ ذي بدء ، بالنسبة لربط مصفوفة LED مع Arduino ، نحتاج إلى تنزيل مكتبة مصممة خصيصًا لـ LED MATRIX. ستكون هذه المكتبة متاحة على:
بعد تنزيل ملف Zip ، قم باستخراج المحتويات إلى مجلد ARDUINO. (انتقل إلى القرص المحلي حيث تم تثبيت برنامج ARDUINO NIGHTLY ، وافتح المجلد ، وابحث عن المجلد المسمى "library" ، واستخرج محتويات الملف المضغوط في هذا المجلد ، وأعد تشغيل البرنامج ، وستتمكن الآن من استخدام ميزات واجهة المصفوفة)
المكونات مطلوبة
الأجهزة: Arduino Uno ، مزود طاقة (5 فولت) ، مكثف 100 فائق التوهج (متصل عبر مزود الطاقة)
البرنامج: Arduino Nightly
مخطط الدائرة وشرحها
يتم عرض التوصيلات التي تمت بين Arduino Uno ووحدة مصفوفة LED في الجدول أدناه.
PIN2 ------------------ LOAD أو CHIPSELECT من وحدة LED
PIN3 ------------------ ساعة من وحدة LED
PIN4 ------------------ DATAIN لوحدة LED
+ 5V ------------------ VCC لوحدة LED
GND ------------------ GND لوحدة LED
يظهر الرسم البياني لدائرة عرض مصفوفة LED 8 * 8 في الشكل أدناه.
الآن لاستخدام العقود الآجلة الخاصة التي يطلق عليها تثبيت مكتبة جديدة ، نحتاج إلى إنشاء بعض الأوامر في البرنامج وهي مذكورة أدناه.
# تضمين "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4،3،2 ، NBR_MTX) ؛ lc.writeString (0، "CIRCUITDIGEST") ؛ lc.clearAll () ، |
نحتاج أولاً إلى استدعاء ملف الرأس لربط مصفوفة LED بـ Arduino Uno. هذا هو ”#include“ LedControlMS.h ”” ، يستدعي ملف الرأس هذا وظائف المكتبة الخاصة.
لدينا ميزة مع هذه الوحدات ، حيث يمكننا توصيل العديد من الوحدات في سلسلة وبرمجتها معًا كشاشة واحدة. تكون هذه الميزة مفيدة عندما نحتاج إلى وحدة عرض يمكنها عرض أحرف متعددة في كل مرة. لذلك نحن بحاجة إلى إخبار وحدة التحكم بعدد الشاشات التي نربطها.
يوجد في هذه الوحدة ثلاثة دبابيس بشكل أساسي ؛ تدفق البيانات من UNO إلى الوحدة يأخذ أماكن مع هذه الدبابيس الثلاثة. الدبابيس هي DATAIN (دبوس استقبال البيانات) ، CLOCK (دبوس الساعة) ، و CHIPSELECT (دبوس استقبال الأوامر).
الآن نحن بحاجة إلى إخبار UNO أين نربط هذه المسامير. يتم ذلك عن طريق الأمر “LedControl lc = LedControl (4،3،2، NBR_MTX)؛ ". “lc.writeString (0،" CIRCUITDIGEST ") ؛" ، يستخدم هذا الأمر لإخبار UNO بالأحرف التي سيتم عرضها على مصفوفة LED. مع ما ورد أعلاه تعرض الشاشة "CIRCUITDIGEST" ، مع كل حرف مرة واحدة.
نحتاج إلى مسح ذاكرة شريحة العرض قبل إرسال أي بيانات أخرى ، ويتم ذلك عن طريق الأمر "lc.clearAll ()؛".
بهذه الطريقة يمكننا بسهولة توصيل مصفوفة 8x8 LED بـ Arduino Uno.