سنرى في هذا المقال كيف سنستخدم المكتبة للتّحكم بمصفوفة MAX7219 متعدّدةِ السّطور.

الملحقات:

إذا كنت تستعمل مصفوفات LED Dot فيجب أن تتأكّد من كون هذه المصفوفات تربيعيّة.
• مصفوفات MAX7219 Dot مربّعة.
• جمبر Jumper (عادة متواجد ضمن علبة مصفوفة الليدات).
• أسلاك توصيل أنثى أنثى.
• أدوات لحام.

التّحضير:

قبل البدء يجب تنصيب مكتبة spi للبايثون، إذا قمت بذلك مسبقاً يمكنك تجاوز هذه الخطوة، وإذا لم تكن قد قمت بذلك فقم باتّباع الخطوات الموجودة في المقال هنا

إعداد المصفوفات:

بعد لحام مصفوفة اللّيدات قُمْ بتوصيلها، من المهمّ توصيل المصفوفات بشكل صحيح كما في الشّكلين 2 و 3 لكي تعمل بشكل صحيح، نضع الوحدة الأولى في الأسفل على اليسار (مسقط أمامي)، ونضع الوحدة التّالية فوقها، عند انتهاء العمود نضع الوحدة التّالية على يمينه في الأسفل والتّي تليها فوقها وهكذا.
مسقط أمامي حيث تمّ ترقيم المصفوفات
مسقط أمامي حيث تمّ ترقيم المصفوفات
مسقط خلفي أسلاك المصفوفة الأولى توصل مع الراسبيري باي
مسقط خلفي أسلاك المصفوفة الأولى توصل مع الراسبيري باي
كلّ مصفوفة تحوي على الأقطاب التّالية:
على اليمين: CLK-CS-DIN-GND-VCC
على اليسار: CLK-CS-DOUT-GND-VCC
يوصَل قطب DOUT من المصفوفة السّابقة مع قطب DIN من المصفوفة اللّاحقة، يتمُّ وصل الأقطاب الأخرى أيضاً، ويتمّ وصل أقطاب المصفوفة الأولى مع الراسبيري باي كما يلي:

تنصيب المكتبة:

يمكنك تحميل المكتبة من الموقع (تأكّد من تنصيب GITHUB CLIENT )
git clone https://github.com/tutRPi/multilineMAX7219.git && cd multilineMAX7219

في هذا المجلّد يُوجَد ملفّان مهمّان:
multilineMAX7219.py وهو الملفّ الرّئيسيّ الحاوي على جميع التوابع.
multilineMAX7219_fonts.py يحتوي هذا الملفّ على حروف ورموز بخطوط مختلفة، إذا أردت إضافة خطوط فقُمْ بتعديل هذا الملفّ.
من المهم تعديل السّطرين 113/114 في ملفّ multilineMAX7219.py حيث يجب تحديد البارامترين MATRIX_WIDTH وMATRIX_HEIGHT بشكل متناسب مع المصفوفة الخاصّة بك.

الكود التجريبي:

للتجريب يمكنك تشغيل الكود:

python multilineMAX7219_demo.py
وملاحظة النتيجة. تكون توابعُ الرّسم أكثَرَ إثارةً للاهتمام في الشّاشات المتعدّدة السّطور، والموقع التّالي يساعد في عرض الصّور التّي تقوم برسمها على مصفوفة اللّيدات:
الموقع هنا
الكود لرسم شعار الراسبيري باي على مصفوفة 3×3:
logo = [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,0],[0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,0,0,1,0],[0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,1],[0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,0,1],[0,1,0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,1,0,0,0,1,0,1],[0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,1,0,0,1],[0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,0,1,0],[1,1,0,1,1,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1,0],[1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,0],[1,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0],[1,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0],[1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,0,1,0],[1,1,0,1,1,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1,0],[0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,0,1,0],[0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,1,0,0,1],[0,1,0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,1,0,0,0,1,0,1],[0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,0,1],[0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,1],[0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,0],[0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]

ويتمّ رسمُه عن طريق:

(LEDMatrix.gfx_sprite_array(logo
()LEDMatrix.gfx_render

للمزيد من المعلومات يمكنك الاطّلاع على ملفَّي multilineMAX7219_demo.py و multilineMAX7219.py حيث يتمّ وصفُ جميع التّوابع.

فيديو توضيحيّ:


ترجمة:عدي ناصر
مراجعة:علي العلي
تدقيق لغوي:سلام أحمد
تحرير:كرم ديوب