در این پروژه دوباره باید از دو مجموعه شیفت رجیستر استفاده کنید. اینها به سطرها و
ستون های نمایشگر ماتریس نقطه ای متصل خواهند شد. سپس یک شی ساده یا اسپرایت را بر روی صفحه نمایش نشان داده و
آن را متحرک سازید. هدف اصلی این پروژه این است که به شما نشان دهد چگونه یک نمایشگر ماتریس نقطه ای کار می کند و
مفهوم مالتی پلکسی را معرفی کند زیرا داشتن این یک مهارت ارزشمند است.
مرحله 1: موارد مورد نیاز
برای این پروژه شما نیاز دارید -:
1. 1 ماتریس LED
2. 8 مقاومت 1k Ohm
3. 8 557 ترانزیستور
4. 1 ULN2803 IC
5 Arduino
6. 2 74HC595 shift register
7. 2 تخته نان
8. سیم های اتصال
مرحله 2: کار کردن
واحدهای ماتریس نقطه ای معمولاً در یک ماتریس 5×7 یا 8×8 از LED ها ارائه می شوند. LED ها در
ماتریس سیم کشی شده اند به طوری که آند یا کاتد هر LED در هر ردیف مشترک است. به عبارت دیگر، در یک
واحد ماتریس نقطه ای LED آند مشترک، هر ردیف از ال ای دی ها تمام آندهای خود را در آن ردیف به
هم متصل می کنند. کاتدهای LED ها همگی در هر ستون به هم متصل می شوند. دلیل این امر
به زودی مشخص خواهد شد.
یک واحد ماتریس تک رنگ معمولی 8×8 دارای 16 پین، 8 برای هر سطر و 8 پین برای هر ستون است.
دلیل اینکه سطرها و ستون ها همگی به هم متصل می شوند این است که تعداد پین های مورد نیاز را به حداقل برسانند.
اگر اینطور نبود، یک واحد ماتریس 8 × 8 نقطه تک رنگ به 65 پین، یکی برای هر LED و یک
اتصال آند یا کاتد مشترک نیاز دارد. با سیم کشی سطرها و ستون ها به یکدیگر، تنها 16 پین
مورد نیاز است.
با این حال، اگر می خواهید یک LED خاص در یک موقعیت خاص روشن شود، این مشکل ایجاد می کند. برای
مثال، اگر یک واحد آند مشترک داشتید و می خواستید LED را در موقعیت X، Y 5، 3 (ستون پنجم،
ردیف 3) روشن کنید، سپس یک جریان را به ردیف سوم اعمال می کنید و پایه ستون 5 را زمین می کنید.
LED در ستون 5 و ردیف 3 اکنون روشن می شود.
حالا بیایید تصور کنیم که می خواهید LED را در ستون 3، ردیف 6 نیز روشن کنید. بنابراین شما یک جریان را به
ردیف ششم اعمال می کنید و پایه ستون 3 را زمین می کنید. LED در ستون 3، ردیف 6 اکنون روشن می شود. اما صبر کنید…
LED های ستون 3، ردیف 6 و ستون 5، ردیف 6 نیز روشن شده اند.
این به این دلیل است که شما در حال اعمال برق به ردیف 3 و 6 و اتصال زمین به ستون های 3 و 5 هستید. شما نمی توانید
LED های ناخواسته را بدون خاموش کردن LED های مورد نظر خود خاموش کنید. به نظر می رسد که هیچ راهی وجود ندارد که
بتوانید فقط دو LED مورد نیاز را با ردیف ها و ستون های متصل به هم همانطور که هستند روشن کنید. تنها
راهی که این کار می کند این است که برای هر LED یک پین اوت جداگانه داشته باشیم، به این معنی که تعداد پین ها
از 16 به 65 می رسد. سیم کشی و کنترل یک واحد ماتریس نقطه ای 65 پین بسیار سخت است زیرا به آن
نیاز دارید. یک میکروکنترلر با حداقل 64 خروجی دیجیتال.
آیا راهی برای دور زدن این مشکل وجود دارد؟ بله وجود دارد و به آن مالتی پلکس (یا muxing) می گویند.
Multiplexing تکنیک روشن کردن یک ردیف از نمایشگر در یک زمان است. با انتخاب ستونی
که حاوی ردیفی است که حاوی LED است که می خواهید روشن شود، و سپس روشن کردن برق آن
ردیف (یا برعکس برای نمایشگرهای کاتدی معمولی)، LED های انتخاب شده در آن ردیف
روشن می شوند. سپس آن ردیف خاموش می شود و ردیف بعدی روشن می شود، دوباره با
ستون های مناسب انتخاب شده و LED های ردیف دوم اکنون روشن می شوند. این کار را با هر ردیف تکرار کنید تا به پایین برسید
و سپس دوباره از بالا شروع کنید.
اگر این کار به اندازه کافی سریع انجام شود (بیش از 100 هرتز یا 100 بار در ثانیه)، پدیده تداوم
بینایی (که در آن تصویر پس از آن تقریباً 1/25 ثانیه روی شبکیه باقی می ماند) به این معنی است
که صفحه نمایش به نظر می رسد. ثابت باشد، حتی اگر هر ردیف به ترتیب روشن و خاموش شود.
با استفاده از این تکنیک، مشکل نمایش LED های جداگانه را بدون
روشن شدن LED های دیگر در همان ستون یا ردیف برطرف می کنید.
با اسکن کردن ردیف ها و روشن کردن LED های مربوطه در هر ستون آن ردیف و
انجام این کار بسیار سریع (بیش از 100 هرتز) چشم انسان تصویر را ثابت می بیند و تصویر
قلب در الگوی LED قابل تشخیص خواهد بود.
شما از این تکنیک چندگانه سازی در کد پروژه استفاده می کنید. بدین ترتیب میتوانید
انیمیشن قلب را بدون نمایش LEDهای اضافی نمایش دهید.
2. 8 مقاومت 1k Ohm
3. 8 557 ترانزیستور
4. 1 ULN2803 IC
5 Arduino
برای جزئیات بیشتر: نمایشگر LED Dot Matrix با استفاده از آردوینو
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
In this project, you shall again use two sets of shift registers. These will be connected to the rows and
columns of the dot matrix display. You will then show a simple object, or sprite, on the display and
animate it. The main aim of this project is to show you how a dot matrix display works and introduce the
concept of multiplexing because this is an invaluable skill to have.