سنستخدم مصفوفةً نقطيّةً أبعادها 8*8، أي أنّها تحتوي ثمانية صفوفٍ وثمانية أعمدةٍ وبالتّالي يكون عدد الثنائيات الضوئية(الليدات) الكلّي 64 ثنائي.
تمكّننا شريحة MAX7219 من التحكّم بالمصفوفة بشكلٍ أسهل، وذلك باستخدام ثلاثة أرجلٍ رقميّة فقط من شريحة الأردوينو، يفضّل شراء المصفوفة النقطية وشريحة MAX7219 كوحدةٍ متكاملةٍ وذلك لتبسيط توصيل الأسلاك.

المصفوفة النقطية وشريحة MAX7219
المصفوفة النقطية وشريحة MAX7219

يمكننا التحكّم بأكثر من مصفوفةٍ بنفس الوقت، وذلك بوصلهم معاً، إذ تمتلك المصفوفات على جانبيها أرجلاً لتوسيع المصفوفة.

توصيل الأرجل:

نحتاج أن نصل 5 أرجلٍ من المصفوفة مع الأردوينو كما في الجّدول التّالي:

رجل المصفوفة النقطية

مقابلها في الأردوينو UNO

GND

GND

VCC

5V

DIN

رجل رقمية

CS

رجل رقمية

CLK

رجل رقمية

المكتبات:

نحتاج إلى تحميل مكتبة LedControl إلى بيئة الأردوينو لتسهيل التحكّم بالمصفوفة النقطيّة، ولتنصيب المكتبة نتّبع الخطوات التّالية:

  1. قم بتحميل الملف المضغوط من الرّابط التّالي: https://github.com/wayoda/LedControl/archive/master.zip

  2. قم بفكّ ضغط الملف لتحصل على مجلّد باسم LedControl-master.

  3. قم بإعادة تسمية هذا المجلّد إلى LedControl.

  4. قم بنقل هذا المجلّد إلى مجلّد مكتبات الأردوينو.

  5. قم بإغلاق وإعادة فتح برنامج مبرمج الأردوينو.

استخدام توابع مكتبة LedControl

من أسهل الطّرق لعرض شيءٍ ما على المصفوفة استخدام التّوابع: ()setLed(), setRow(), setColumn التي يسمح استخدامها على التّتالي بالتحكّم بثنائيٍّ واحدٍ أو بسطرٍ أو بعمودٍ، والقيم التي يتم إدخالها إلى هذه التّوابع هي كالتّالي:

(setLed (addr, row, col, state

  • Addr: هو عنوان المصفوفة التي يوجد فيها الثنائي فإذا كان لدينا مصفوفة واحدة يكون العنوان 0.

  • :Row هو رقم الصفّ الذي يوجد فيه الثنائي.

  • Col: رقم العمود الذي يوجد فيه الثنائي.

  • State :

    • تعطى قيمة true أو 1 عندما نريد إضاءة الثنائي.

    • تعطى قيمة false أو 0 عندما نريد إطفائه.

وبنفس الطريقة: (setRow(addr, row, value            (setCol( addr, column, value

مثال:

عرض أيقونات على المصفوفة النقطّية

نقوم في هذا المثال بعرض مجموعةٍ من الوجوه بشكلٍ متتابع: وجه سعيد ثم حيادي ثم حزين.

التّرقيم

كما ذكرنا مسبقاً أنّ المصفوفة تمتلك 8 صفوفٍ و8 أعمدة، كلٌّ منها مرقّمٌ من 0 إلى 7، ويبيّن الشّكل 2 آلية التّرقيم.

آلية التّرقيم في المصفوفة
آلية التّرقيم في المصفوفة

إذا أردنا أن نعرض شكلاً معيّناً على المصفوفة فيجب أن نعرف الثنائيّات التي يجب إضاءتها في كلّ صفٍ أو عمودٍ، فعلى سبيل المثال ولكي نرسم وجهاً سعيداً يجب أن نقوم بإضاءة المصفوفة كما في الشكل3.

كيفية إضاءة المصفوفة لرسم وجه سعيد
كيفية إضاءة المصفوفة لرسم وجه سعيد

التوصيل

قم بتوصيل المصفوفة النقطية كما في الشكل 4

 كيفية توصيل المصفوفة النقطية
كيفية توصيل المصفوفة النقطية

فيما يلي نورد الكود البرمجي لعرض وجهٍ سعيدٍ ثم حيادي ثم حزين، قم بنسخ الكود وتحميله على الأردوينو بعد التّوصيل.

الكود البرمجي: هنا

في النهاية سنحصل على نتيجةٍ مشابهة للشّكل 5


المصدر: هنا
ترجمة: عدي ناصر، مراجعة: علي العلي، تدقيق لغوي: مي همدر، تصميم: علي العلي,  تحرير: لبانة مطر