آموزش راه اندازی دات ماتریس با آردوینو + پروژه با ماژول دات ماتریس max7219

راه اندازی دات ماتریس با آردوینو

راه اندازی دات ماتریس با آردوینو

در مطلب آموزش راه اندازی دات ماتریس با آردوینو قراره با اینکه Dot-matrix چیه و چه کاربرد هایی داره آشنا بشیم و آموزش کار با دات ماتریس رو با هم مرور کنیم.

دات ماتریس چیست؟

دات ماتریس مجموعه ای از led هایی هستش که به شکل منظم و یک پارچه در کنار هم قرار گرفته و با توجه به نخوه چینشی که داره بسیار مناسب نمایش اعداد و حروف به شمار میره و در بسیاری از مکان ها بعنوان نمایشگر LED از اون استفاده میکنند.

دیتاشیت دات ماتریس 8*8

در تصویر زیر یک نمونه dot matrix 8*8 و اجزای داخلیش رو میبینید:

دات ماتریکس 8 در 8

علاوه بر اینکه دات ماتریس های تک رنگ محبوبیت بسیاری دارند امام در بازار دات ماتریس های RGB که توانایی ایجاد رنگ های مختلف را نیز دارا میباشند وجود دارد.

راه اندازی دات ماتریس با آردوینو

برای راه اندازی یک دات ماتریس 8 در 8 روش های مختلفی رو میشه امتحان کرد.

در روش اول با توجه به شکل بالا میشه به 64 LED فرمان بدیم که کار بسیار دشواری هستش و تقریبا امکان پذیر نیست!

در روش دیگه میتونیم از حداقل از 16 پایه استفاده کنیم.

به این شکل که ال ای دی ها به دسته های مختلف تقصیم میشن و هر led یک آدرس عمودی و افقی برای خودش بدست میاره که با فرمان دادن همزمان به هر دو پایه ، led مورد نظر رو میشه روشن کرد.

اگر این عمل آدرس دهی در سرعت بالا انجام بگیره و اصلاحا پایه هارو دائما جاروب کنیم ، چشم دچار اشتباه میشه و led هارو دائما روشن فرض میکنه.

(چون از این روش مستقیما استفاده نمیکنیم سعی کردم از توضیح مفصل پرهیز کنم ).

در روش سوم سعی میکنیم از ماژول این قطعه استفاده کنیم.

راه اندازی ماژول دات ماتریس max7219

این ماژول یک ماژول دات ماتریکسه که آی سی max7219 رو هم در کنار خودش داره.

مزیت های استفاده از ماژول:

  • عمل جاروب توسط آی سی انجام میشود و بخشی از پردازش میکروکنترلر را کاهش میدهد.
  • دارای مدار کنترل جریان میباشد و از LED ها در برابر جریان بالا محافظت میکند.
  • از پروتکل SPI پشتیبانی میکند و تعداد سیم های مورد استفاده به شکل قابل توجهی کاهش می یابد.

این آیسی علاوه بر درایو کردن دات ماتریس برای راه اندازی سون سگمنت با آردوینو هم کاربرد داره.

بریم سراغ راه اندازی این قطعه و ماژول

ابتدا کتابخونه اون رو دانلود کنید:

لینک مستقیم:

دانلود کتابخانه max7219

دانلود کتابخانه از github توسط لینک زیر: LEDControl

 

این کتابخونه یک سری تابع داره که مربوط سون سگمنت و ما باهاشون کار نداریم ، و فقط تابع های مهم دات ماتریس رو بهشون اشاره میکنم.

تابع getDeviceCount

این تابع تعداد ماژول های متصل به آردوینو رو شمارش میکنه و در خروجی اعلام میکنه.

مقدار خروجی اون رو میشه در یک تابع ذخیره کنیم.

مثال:

 

 

تابع LedControl

توسط این تابع باید اتصال هر پایه آردوینو مشخص بشه و کلاسی هم تعریف کنیم.

اتصال پایه ها  به ترتیب:

DIN یا data

CLK

Cs

و مقدار numDevices برای مشخص کردن تعداد ماژول های متصل به هم هستش.

(این ماژول قابلیت کنار هم قرار گرفتن چندتایی هم داره که میشه تابلو روان هم ساخت که در یک پست دیگه حتما به تابلو روان و شیفت دادن مقادیر اشاره میکنم.)

مثال با تعریف کلاس به اسم ic:

 

تابع shutdown(int addr, bool status);

این تابع ماژول رو به حالت power saving میبره.

int addr آدرس ماژول مورد نظر رو باید وارد کنین.(ادرس دهی ماژول ها از صفر شروع میشه. مثلا 2 تا ماژول دارای آدرس های 0 و 1 هستن)

bool status : با نوشتن false ماژول تعیین شده به حالت عادی به کار خودش ادامه میده و با دستور true به حالت ذخیره نیرو میره.

مثال:

 

تابع setIntensity

که دارای شکل کلی زیر :

int addr : آدرس ماژول مورد نظر

int intensity : میزان روشنایی صفحه رو تعیین میکنه و مقداری بین 0 تا 15 داره.

مثال:

 

تابع clearDisplay

این تابع صفحه رو پاک میکنه.

ساختار کلی:

int addr : آدرس ماژول مورد نظر

مثال:

 

پروژه راه اندازی دات ماتریس با آردوینو

شماتیک پروژه :

کد پروژه:

 

 

پروژه دوم

راه اندازی همزمان 2 ماژول دات ماتریس:

اگر بخوایم از دو عدد ماژول دات ماتریس max7219 استفاده کنیم و 2 تصویر یا متن مجزا رو نمایش بدیم باید به این شکل اون هارو به هم متصل کنیم:

شماتیک پروژه:

ماژول دات ماتریس max7219

 

کد پروژه:

با 2 عدد دات ماتریس هم میشه تابلو روان ساخت اما تفاوت اصلی در شیفت دادن متن بین 2 نمایشگر هستش که ما در پروژه دوم این کار رو انجام ندادیم و هدفمون صرفا نمایش دادن 2 تصویر مجزا اما همزمان بر روی دات ماتریس بود.

موفق باشید.

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *