آموزش طراحی و ساخت تابلوهای روان LED با AVR

بازگشت به آموزشگاه

مقدمه

تابلوهای روان ( LED Display Panel ) که کاربرد ویژه در کارهای نمایشی و تبلیغاتی دارند ، در انواع مختلف تک رنگ و چند رنگ و با ابعاد مختلف در مغازه ها ، پاساژها ، فروشگاه ها ، بانک ها ، چهار راه ها و … دیده می شود. در این آموزش میخواهیم نحوه ساخت و برنامه نویسی مدل های کوچک و تک رنگ آن ها را  آموزش دهیم.

tbrv0


تابلو روان چیست ؟

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

Tbrv1


نمایشگرهای دات ماتریس ( Dot Matrix )

نمایشگرهای دات ماتریکس آرایه ای از LED ها هستند که در کنار هم قرار گرفته و دارای ابعاد مشخصی می باشند. در شکل زیر یک آرایه دات ماتریکس 7*5 را به همراه مدار داخلی مشاهده می کنید.

Dot Matrix Display

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

اگر در این دات ماتریکس به R1 ولتاژ 3 ولت(متناسب با ولتاژ کار ال ای دی ها) اعمال کنیم و C1 را به زمین وصل کنیم LED بالا سمت چپ روشن خواهد شد. اگرC1,C2,C3,C4,C5  را به زمین وصل کنیم کل ال ای دی های ردیف بالا روشن خواهد شد. برعکس این موضوع برای ستون ها هم صادق است یعنی اگر به ستون اول را به زمین وصل کنیم و به R1تاR7 ولتاژ 3ولت اعمال کنیم کل ستون یک روشن خواهد شد.

اگر بخواهیم روی ماتریس حرف C انگلیسی را بنویسیم چه کاری باید انجام دهیم. برای درک این موضوع ابتدا به شکل زیر با دقت نگاه کنید:

Display On Dot Matrix


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

خب اول باید بدانیم که برای اینکه مثلا حرف C روی ماتریس نمایش داده شود کدام یک از خانه های ماتریس باید روشن بشوند.بعد از این ما ال ای دی های هر ستون را جدا می کنیم . یعنی در ستون اول کدام یک از ال ای دی ها روشن هستند و کدام یک از ال ای دی ها خاموش هستند ! فکر کنم تا الان بیشتر تکنیک نوشتن حرف روی ماتریس را متوجه شده اید . خب اگر ما با سرعت زیاد به نحوی که چشم انسان نتواند تشخیص دهد روشن و خاموش کنیم توانسته ایم حرف C را روی ماتریس نمایش دهیم .

با اجرای سریع الگوریتم بالا حرف C روی ماتریس نشان داده می شود.

 


راه اندازی تابلو روان

برای راه اندازی تابلوهای روان نیاز به تعدادی نمایشگر دات ماتریس داریم که در کنار هم قرار گیرند. برای مثال در شکل زیر یک تابلو روان 8 در 64 را مشاهده می کنید. برای راه اندازی آن توسط میکروکنترلر ابتدا همه سطرها نظیر به نظیر به هم متصل شده و سپس به میکرو متصل می شود. همه ستون ها نیز باید به میکرو متصل شود.

Tbrv2

همانطور که در شکل فوق نیز مشاهده می کنید تعداد سطرها ثابت اما تعداد ستون ها افزایش قابل توجهی می یابد. با توجه به پورت های میکروکنترلر حداکثر تعداد ستون هایی که میتوان به میکرو متصل کرد 24 می باشد. اما برای تابلو های روانی که بیشتر از 24 ستون دارند نیاز به دیکدر برای آنها داریم. وجود دیکدر باعث می شود که پایه های کمتری از میکروکنترلر درگیر شود.

بنابراین برای دات ماتریسی که 64 ستون دارد نیاز به یک دیکدر 8 به 64 می باشیم. به جای استفاده از یک دیکدر 8 به 64 میتوان از 9 دیکدر 3 به 8 به صورت شکل زیر استفاده نمود.

Tbrv3

حال میخواهیم شکلی را روی تابلو روان شکل فوق نمایش دهیم. باید شکل مورد نظر را رسم و دیتای سطر ها و ستون هایی را که برای نمایش آن مورد نیاز است یک به یک محاسبه و سپس به صورت پشت سر هم نمایش دهیم. برای راحتی کار ابزارهایی موسوم به LCD tools وجود دارند که کدهای دیتای مورد نظر را برای ما آماده می کنند.

 


نحوه ساخت تصاویر متحرک

برای ساخت تصاویر روان از یک ابزار به نام Glcd Tool استفاده می کنیم. این نرم افزار قادر است تا عکس های با فرمت bitmap را دریافت کرده و مطابق با آن خروجی hex برای نمایش روی تابلو روان را می دهد. بنابراین برای نمایش نوشته دلخواه ابتدا توسط یک برنامه نقاشی همانند ابزار paint موجود در ویندوز ، یک تصویر به ابعاد تابلو روان مورد نظر ایجاد می کنیم.

GlcdTool

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

GlcdTool2

بعد از ذخیره تصویر به نرم افزار Glcd tool رفته و تصویررا وارد می کنیم. سپس در قسمت output format تنظیمات زیر را وارد کرده و بعد از آن Convert Vert را می زنیم. کد نهایی تبدیل شده در کنار فایل تصویر bitmap تولید می شود.

GlcdTool3

حال کافی است تا آرایه بدست آمده فوق را در برنامه به جای سطرها قرار داده و ستون ها را یکی یکی روشن و خاموش کنیم. با روشن و خاموش شدن سریع LED ها تصویر مورد نظر عینا به نمایش در می آید. برای حرکت تصویر کافی است بعد از گذشت زمانی مشخص ( مثلا 300 میلی ثانیه ) تصویر را شیفت دهیم.

ابزار GlcdTool و نیز سورس کدویژن و پروتئوس برنامه تابلو روان 8 در 64 را میتوانید از لینک روبرو دریافت کنید. >> لینک دانلود <<


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

برای رفع مشکل باید نمایش را روی هر ماتریس به صورت همزمان انجام دهیم یعنی در آن واحد ستون اول تمامی ماتریس ها را روشن و دیتای آنها را نمایش دهیم و سپس ستون دوم همه ماتریس ها و … تا ستون آخر. برای رسیدن به این هدف از یک آی سی شیفت رجیستر به صورت Serial in Parallel Out می توان استفاده نمود. آی سی 74ls595 یک آی سی Shift Register با این ویژگی است که به صورت زیر متصل می شود.

74LS595

شیفت رجیستر 74595 دارای 16 پایه است و از دو بخش تشکیل شده است، بخش ورودی شامل یک شیفت رجیستر معمولی است که اطلاعات را بصورت سریال از پایه 14 دریافت کرده و بصورت 8 خط موازی به قسمت بعدی منتقل میکند. بخش اول دارای دو ورودی و یک خروجی دیگر نیز میباشد. پایه شماره 11 پایه ورودی کلاک است و پایه 10 پایه ریست است. همچنین پایه 9 خروجی سریال شیفت رجیستر است که برای اتصال به شیفترجیستر بعدی مورد نیاز خواهد بود. بخش دوم این آی سی ، در واقع یک لچ 8 بیتی است. که خطوط ورودی آن از طبقه قبل(شیفت رجیستر) می آیند، این طبقه به خروجی شیفت رجیستر نیز متصل است که 8 خط خروجی 74595 از طریق لچ آن تهیه میشود. قاعدتا یک لچ باید پایه ای جهت عمل لچ کردن داشته باشد که این پایه ورودی شماره 12 است و تا زمانی که بر روی این پایه لبه پایین رونده ای اعمال نشود لچ اطلاعات را در خود ذخیره (لچ) نمیکند. از طرفی به جهت اینکه بتوان خروجی را نیز کنترل نمود و در صورت لزوم خروجی قطع و یا وصل نمود پایه شماره 13 که به لچ متصل است در نظر گرفته شده است.

74LS595-

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

برای دانلود سورس کامل این پروژه به همراه گزارش آن در قالب PDF به صفحه زیر مراجعه نمایید.


دانلود بهترین و کاملترین بسته آموزشی میکروکنترلرهای AVR

AmazingAVR


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

دیدگاه (10)

  • barg_xazan8984 پاسخ

    سلام ممنونم از مطالب بسیار ارزنده تون.
    من این پروژه رو تو پروتیئوس رسم کردم ولی هر تغییری تو برنامه میدم کار نمیکنه. میشه بیشتر راهنمایی بفرمایید

    1395-08-09 در 15:40
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز برنامه قرار داده شده را دانلود کنید و فایل hex را به پروتئوس اضافه نمایید

      1395-08-10 در 09:21
  • pouya karimi پاسخ

    خوب

    1396-01-02 در 14:17
  • Ali mansory پاسخ

    مثل همیشه عالی ممنون

    1396-05-01 در 19:29
  • سید محمدعلی پاسخ

    سلام بین هر استپ چقدر فاصله باشه خوبه؟

    1396-05-03 در 14:53
    • ادمین الکترو ولت پاسخ

      سلام بین 20 تا 50 میلی ثانیه

      1396-05-03 در 20:22
  • مهدی حسن پور پاسخ

    سلام . ممنون از سایت خوب شما . ممکنه که نحوه اتصال atmega 32 به پین هدر 16 تایی بلوک led 16*32 رو توضیح بدید . ممنون

    1396-07-22 در 14:03
  • مجید پاسخ

    برای ابعاد 16در 32چه تغییراتی رو باید اعمال کنیم؟

    1398-05-05 در 08:59
  • مصطفی پاسخ

    با سلام و خسته نباشید ببخشید آقای مهندس آموزش کامل تابلو روان با شیفت ریجستر را میخواستم گفتین پایین صفحه دانلود کنید چیزی در این مورد پیدا نکردم اگه امکان داره راهنمای بفرمایید ، ممنون

    1400-11-03 در 22:39
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز توضیحات همین هایی است که داده شده صرفا جهت دانلود سورس پروژه بایستی بسته جامع آموزش AVR را از فروشگاه الکترو ولت تهیه نمایید

      1400-11-27 در 10:25

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

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

بازگشت به آموزشگاه