برای نمایش کاراکترها و نمادها از یک صفحه نمایش ماتریس نقطه ای LED تک رنگ (تک رنگ) استفاده می شود که رابط با میکروکنترلر است. این پروژه به نمایش یک پیام متنی پیمایشی بر روی صفحه نمایش ماتریس نقطه ای LED 48×8 تعمدی دارد. میکروکنترلر مورد استفاده Arduino Uno است که نمونه اولیه پلت فرم الکترونیکی منبع باز است. 48 ستون ماتریس LED به صورت جداگانه توسط شش رجیستر شیفت (74HC595) هدایت می شوند، در حالی که هشت ردیف ترکیبی نیز توسط رجیستر Shift هدایت می شوند.
در اینجا ما سطرها را اسکن می کنیم و خطوط ستون را با سطوح منطقی مناسب تغذیه می کنیم. برنامه موجود در میکروکنترلر برای تعیین سرعت پیغام پیمایش و همچنین پیام دادن به آنچه که قرار است نمایش دهیم است. این تکنیک برای اسکرول راست به چپ نشان داده می شود، اما می توان به راحتی برای پیمایش در جهات دیگر پیاده سازی کرد. برنامه Sketch برای Arduino Uno با نرم افزار Arduino توسعه داده شده است.
مرحله 1: آماده سازی ماتریس
سیم کشی ماتریسی هر ماتریس دارای 64 LED است. در عوض LED ها به یک ماتریس متصل می شوند. این ماتریس دارای آندهای LED است که در ردیفها (8 پین) و سپس کاتدهای LED قرمز روی ستونها (هر کدام 8 پین) وصل شدهاند. برای روشن کردن یک LED، ردیفهای کاتد آن را به زمین وصل میکند و از طریق یک ترانزیستور، آند را به 5+ ستون میکند.
نمایش تصاویر (اسکن) اکنون که می توانیم هر LED را که انتخاب می کنیم روشن کنیم، وقت آن است که به نمایش یک تصویر (کوچک) برویم. برای این کار از یک الگوی اسکن استفاده می کنیم. در کد مثال ما یک تصویر بیت مپ (آرایه ای از 8 بایت که هر بیت نشان دهنده یک LED است) تعریف می کنیم. سپس این آرایه را یک بایت در یک زمان اسکن می کنیم و یک ستون و سپس ستون بعدی را نمایش می دهیم. اگر این کار را به اندازه کافی سریع انجام دهیم (حدود 1000 بار در ثانیه) به عنوان یک تصویر ظاهر می شود. پیچیده به نظر می رسد، اما اگر کد را دانلود کنید و با آن بازی کنید، باید به سرعت روشن شود
مرحله 2: اتصال رجیستورها و ترانزیستورهای SHFIT.
در اینجا ما از 74HC595 برای درایو سطر و ستون استفاده می کنیم
ثبات تک شیفت برای هدایت ردیف
و رجیسترهای شیفت زنجیردار با سنجاق ساعت مشترک به ستونهای درایو
- هر رجیستر شیفت میتواند 8 ستون را هدایت کند
- بر اساس تعداد ستونها، تعداد ثباتهای شیفت را میتوان افزایش داد، هیچ محدودیتی برای ستونها وجود ندارد.
مرحله 3: رابط با آردوینو
پین پین های رجیستر آردوینو Shift
5 – 12
6 – 11
7 – 14
موارد بالا برای درایورهای ستون هستند
9 – 12
10 – 11
8 – 14
موارد فوق برای درایورهای ردیف است
مرحله 4: برنامه
int x;
int y;
int latchPin1 = 5; //پین آردوینو متصل به آبی 12 RCLK از 74HC595
int clockPin1 = 6; //پین آردوینو متصل به سبز 11 SRCLK از 74HC595
int dataPin1 = 7; //پین آردوینو به بنفش 14 SER از 74HC595 متصل است