استخدام 8×8 LED Matrix مع MAX7219 و الاردوينو

بــــسم الله الرحمن الرحيـــــم



تستخدم مصفوفة البواعث الضوئية ( LED Matrix ) في العديد من المشاريع مثل لوحات الإعلانات , شاشات العرض , و حتى في المشاريع الصغيرة لعرض البيانات عليها . 

في هذه التجربة نحتاج الـى :

• LED Matrix  8×8 .
• MAX7219 IC .
• مكثف إلكتروني  10uf  .
• مكثف سيراميكي 0.1uf .
• مقاومة 10kohm




توصيل مصفوفة البواعث الضوئية مباشرة مع الاردوينو سيكون امر صعب و معقد من ناحية التوصيلات و كتابة الكود ايضاً  , لذلك نستخدم الدارة المتكاملة MAX7219 , لتسهيل عملية التوصيل و البرمجة , هذه الدارة المتكاملة لهـا عدة مميزات اهمها :

- يتوفر عدة مكتبات تدعم هذه الدارة ( للأردوينو ) .
- يمكنها تشغيل حتى 8 مقطعات سباعية ( 7-segment ).
- او تشغيل 64 باعث ضوئي (LED) منفصل .
- يمكن التحكم بشدة الاضاءة للضوء ( من خلال البرمجة او بالتوصيل ).
- يتم التحكم بها من خلال 3 مخارج (pin) في الاردوينو .
- يمكنك توصيل حتى 8 دارات مع بعضها و التحكم بها من نفس المخارج الثلاث
  اي انه بالمحصلة يمكن التحكم بـ 512 LED من خلال 3 مخارج فقط :) .

يمكنك الاطلاع على النشرة الفنية للقطعة من هنـا data sheet .

الصورة التالية توضح كل مخرج للدارة . 



توصيل المصفوفة مع الدارة المتكاملة يكون بالشكل التالي :

اضغط على الصورة لتكبيرها 





◘ المخرج رقم 24 (Dout) يستخدم عند التوصيل مع دارة  MAX7219 ثانية !
لكن نحن نستخدم دارة واحدة فقط !


سيكون الشكل النهائي كالتالي ..










البرمجـــة :

اولاً تحتاج لتحميل هذه المكتبة LedControl .

تتبع البرنامج التالي ( سيقوم بكتابة حرف A  و ازالته ) !







// Ali Hadabeen 2013
// http://ali-madness.blogspot.com/

#include "LedControl.h" 

LedControl lc=LedControl(12,11,10,1); // lc is our object
// pin 12 is connected to the MAX7219 pin 1
// pin 11 is connected to the CLK pin 13
// pin 10 is connected to LOAD pin 12
// 1 as we are only using 1 MAX7219

void setup()
{
  // the zero refers to the MAX7219 number, it is zero for 1 chip
  lc.shutdown(0,false);// turn off power saving, enables display
  lc.setIntensity(0,8);// sets brightness (0~15 possible values)
  lc.clearDisplay(0);// clear screen
}

void loop()
{

      lc.setLed(0,1,0,true); // turns on LED at col, row
      lc.setLed(0,1,1,true); // turns on LED at col, row
      lc.setLed(0,1,2,true); // turns on LED at col, row
      delay(50);
      lc.setLed(0,1,3,true); // turns on LED at col, row
      lc.setLed(0,1,4,true); // turns on LED at col, row
      lc.setLed(0,2,5,true); // turns on LED at col, row
            delay(50);

      lc.setLed(0,3,6,true); // turns on LED at col, row
      lc.setLed(0,4,6,true); // turns on LED at col, row
      lc.setLed(0,5,5,true); // turns on LED at col, row
      delay(50);

      lc.setLed(0,6,4,true); // turns on LED at col, row
      lc.setLed(0,6,3,true); // turns on LED at col, row
      lc.setLed(0,6,2,true); // turns on LED at col, row

      delay(50);
      lc.setLed(0,6,1,true); // turns on LED at col, row
      lc.setLed(0,6,0,true); // turns on LED at col, row
      lc.setLed(0,2,2,true); // turns on LED at col, row

      delay(50);
      lc.setLed(0,3,2,true); // turns on LED at col, row
      lc.setLed(0,4,2,true); // turns on LED at col, row
      lc.setLed(0,5,2,true); // turns on LED at col, row


delay(3000);


for (int row=0; row<8; row++)
{
for (int col=0; col<8; col++)
{
lc.setLed(0,col,row,true); // turns on LED at col, row
delay(10);
lc.setLed(0,col,row,false); // turns off LED at col, row
delay(10);
}
}

delay(50);



for (int row=8; row>0; row--)
{
for (int col=8; col>0; col--)
{
lc.setLed(0,col,row,true); // turns on LED at col, row
delay(10);
lc.setLed(0,col,row,false); // turns off LED at col, row
delay(10);
}
}
   
}




شاهد النتيجة 












 و لكتابة الكلمات مباشرة و تحريكها و التحكم بسرعتها و شدة اضاءتها ,
 يمكنك استخدام هذه المكتبة MaxMatrix .


هذا المثال يوضح عمل المكتبة  ( هـنـا )




شـاهد مثال على استخدام المكتبة








مصادر :
instructables .




هل أعجبك الموضوع ؟

هناك تعليق واحد :

  1. السلام عليكم أثناء قيامي بنفس التجربة المبينة أعلاه و المتمثلة في كتابة الكلمات و تحريكها تبين لي أن الكلمات تظهر معكوسة و تتحرك عكس الاتجاه من اليسار الى اليمين مع العلم انني قمت بربط الدارة على نفس المنوال المبينة أعلاه فما العمل من فضلكم؟

    ردحذف

جميع الحقوق محفوظة - علي الهضابين ©2012-2013 | ، يرجى ذكر المصدر عند النقل . Privacy-Policy | أنضم ألى فريق التدوين


تصميم alwan-blogger | تطوير Reda Yagoub