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

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

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

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

پیش ازآن‌که به مبحث چگونگی راه‌اندازی ماژول دات ماتریس (Dot matrix) بپردازیم، بهتر است خود دات ماتریس را معرفی کنیم. دات‌ماتریس مجموعه‌ای از  LED هایی است که به‌صورت منظم در یک قالب چیده شده‌اند. این نحوه‌ی چینش بیش‌تر برای نمایش اعداد و حروف به‌کار برده می‌شود و در ساخت نمایشگرهای LED از آن‌ها استفاده می‌شود.

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

در تصویر فوق، یک دات ماتریس 8 در 8 را مشاهده می‌کنید. منظور از 8 در 8 این است که این دات‌ماتریس از هشت LED در طول و هشت LED در عرض استفاده می‌کند که در مجموع تشکیل 64 نقطه نورانی (LED) را می‌دهند. در صنعت، از دات ماتریس برای نمایش حروف، اعداد، کاراکترهای استاندارد دیگر و تصاویر استفاده می‌شود. تابلوهای روان نیز از دات ماتریس استفاده می‌کنند. در نمایشگرهای مبتنی بر دات‌ ماتریس به‌راحتی و با چینش تعداد دلخواهی از دات‌ماتریس در کنار هم، می‌توان نمایشگرهای بزرگ‌تر را به وجود آورد.

دات‌ماتریس‌ها علاوه بر ابعاد فیزیکی و تراکم LED در طول و عرض، دارای پارامتر دیگری نیز هستند که مشخص می‌کند هر یک از LED های تشکیل‌دهنده‌ی دات‌ماتریس قادر به تولید چه رنگ‌هایی است. معمولاً دات‌ ماتریس‌های موجود در بازار تک‌رنگ هستند. اما دات‌ماتریس‌های رنگی نیز وجود دارند که قادرند دو یا حتی سه رنگ اصلی را ایجاد کنند که با ترکیب این رنگ‌ها می‌توان به تمام طیف رنگی دست پیدا کرد.

دات ماتریس دو رنگ

در تصویر فوق، یک دات ماتریس دو رنگِ قرمز/سبز را مشاهده می‌کنید. با ترکیب نور قرمز و سبز می‌توان به نور زرد دست پیدا کرد؛ پس با استفاده از این نوع دات‌ماتریس، قادر به تولید 3 رنگ کاملاً مجزا هستیم.

دات ماتریس RGB

در تصویر بالا، دات ماتریس سه رنگ یعنی RGB (قرمز/سبز/زرد) را می‌بینید. با ترکیب این سه نور (رنگ‌های اصلی 4 تا هستند) ما قادر به تولید طیف وسیعی از رنگ‌های دیگر هستیم. به‌اصطلاح این نوع دات‌ماتریس‌ها، تمام‌رنگ (Full Color) نامیده می‌شوند و از آن‌ها در ساخت تلویزیون‌های شهری استفاده می‌شود.

 

دات‌ماتریس چگونه راه‌اندازی می‌شود؟

در نگاه اول ممکن است راه‌اندازی دات ماتریس چندان پیچیده به نظر نرسد؛ اما در نظر بگیرید که برای راه‌اندازی دات‌ماتریس 8 در 8 باید قادر باشیم که تعداد  64 LED  را به‌صورت مجزا کنترل کنیم و برای یک دات ماتریس 16 در 16 این تعداد به 256 عدد خواهد رسید. پس اصلاً منطقی نیست که بتوان هر LED را به‌صورت مجزا کنترل کرد؛ چراکه هم حجم سیم‌کشی به‌شدت زیاد می‌شود و هم هیچ میکروکنترلری این تعداد پایه را در اختیار ما نمی‌گذارد. راه‌حل این است که LED ها را در دسته‌های مشخصی قرار دهیم و هر بار یک دسته را کنترل کنیم. با استفاده از این روش، تعداد پایه‌های موردنیاز به شکل چشمگیری کاهش پیدا می‌کند. امروزه تمام دات‌ماتریس‌ها با استفاده از این روش ساخته می‌شوند.

چینش LED ها در دات ماتریس

همان‌طور که مشاهده می‌کنید LED ها به‌صورت سطری و ستونی دسته‌بندی‌شده‌اند. با استفاده از این تکنیک، تعداد پایه‌های موردنیاز به‌شدت کاهش پیدا کرده است؛ به‌نحوی‌که برای راه‌اندازی یک ماتریس 8 در 8  به 16 پایه مجزا نیاز داریم.

نحوه‌ی کار به این صورت است که داده‌ها را به‌صورت سطر به سطر قرار می‌دهیم. اول داده‌های سطر یک، سپس سطر دوم و الی‌آخر. اگر این کار را با سرعت انجام دهیم؛ نهایتاً خروجی همان چیزی خواهد بود که قصد نمایش آن را داریم.

نحوه اسکن دات ماتریس

 

معرفی ماژول دات ماتریس

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

ماژول دات ماتریس موردنظر ما، از آی سی Max7219 جهت راه‌اندازی دات‌ماتریس استفاده کرده است. این آی سی درواقع یک درایور LED است که علاوه بر دات ماتریس قادر به پشتیبانی سون سگمنت (Seven Segment) نیز هست. مزیت استفاده از این آی سی این است که اسکن دات ماتریس را به‌صورت خودکار و مستقل انجام می‌دهد و نیازی به درگیر شدن CPU جهت اسکن نیست. این آی سی مدار کنترل جریان داخلی دارد که از سوختن LED ها در اثر عبور جریان بالا جلوگیری می‌کند.

خوشبختانه آی سی Max7219 از چند نوع پروتکل سریال ازجمله پروتکل  SPI پشتیانی می‌کند. ما نیز برای برقراری ارتباط با این آی سی از پروتکل SPI استفاده کرده‌ایم.

دیاگرام Max7219

همان‌گونه که در تصویر بالا مشاهده می‌کنید، برای ارسال داده به آی سی Max7219، داده‌ها باید به‌صورت MSB First و در قالب 16 بیتی (دو بایتی) ارسال شوند. 8 بیت کم‌ارزش، داده‌های سطر را در بر می‌گیرد که درون حافظه آی سی ذخیره می‌شود و 4 بیت کم‌ارزش از 8 بیت پرارزش نیز آدرس ستونی که داده‌ها مربوط به آن است را در خود ذخیره می‌کند. به همین سادگی می‌توان داده‌های دات ماتریس را تغییر داد.

 

راه‌اندازی ماژول با استفاده از آردوینو

مدار راه اندازی Max7219

دقت کنید که همانند تصویر فوق، تغذیه ماژول را به 5 ولت وصل کنید.

 

برنامه به کمک ویرایشگر سیسوگ نوشته شده است و هیچ تداخلی با ویرایشگر پیش‌فرض آردوینو ندارد. می‌توانید با کپی کردن کد در ویرایشگر آردوینو نیز از آن استفاده کنید.

در ابتدای برنامه، خط فوق مشخص می‌کند که کدام پایه‌ها از آردوینو به ماژول وصل شوند.

عملکرد برنامه:

 

 

حمایت از Zeus ‌

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

1 نفر

پــــســنــدیـده انـد

توجه

Zeus ‌
Zeus ‌

زئوس هستم ساکن المپ

دیدگاه ها

9 دیدگاه

  • باقر
    ۳ بهمن ۱۳۹۷

    ممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممنننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووونننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننوووووووووووووووووووووووووووووووووووووووننننننننننننننننننننننننننننننننننننننننننننننننننننننمممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممممم

  • ahmad
    ۳ بهمن ۱۳۹۷

    خیلیییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییییی عاااااااااااااااااااااااااااااااللللللللللللللللللللللللللللللییییییییییییییییییییییییییی بببببببببببببببببببببببببببببببببوووووووووووووووووووووووووووووووددددددددددددددددددددد

  • پويان
    ۷ دی ۱۳۹۶

    سلام لايبرريش چيه يعني كدوم بخش از led control هستش؟

  • مهدی حسن پور
    ۱۷ مهر ۱۳۹۶

    با سلام . ممکنه نحوه اتصال آردوینو مگا 2560 رو با led ماتریس 32*16 که 16 تا پین داره توضیح بدید . ممنون

    • Zeus ‌
      زئوس Zeus
      ۲۲ مهر ۱۳۹۶

      نوع برد آردوینوی شما مهم نیست ؛ این برنامه کار خواهد کرد .
      البته ماژول 16*32 نیدیم که بتونم بگم چکار باید کنید.

  • میثم
    ۹ خرداد ۱۳۹۶

    به نظرم بهتره زودتر و با قدرت بیشتر بخش آردویینو رو شروع کنید، خبر رو همه جا میشه پیدا کرد

    • Zeus ‌
      زئوس
      ۱۱ خرداد ۱۳۹۶

      انشالله به زودی آموزش های جامع آردوینو رو شروع میکنیم
      در حال حاظر تیم سیسوگ مشغول ترجمه رفرنس های آردوینو است
      برای مشاهده رفرنس ها می توانید به صفحه رفرنس آردوینو مراجعه کنید.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک