آموزش ساخت نمایشگر LED روان یا تابلو روان با میکرو AVR

ساخت نمایشگر LED روان یا تابلو روان

در این بخش دانلود پروژه آموزش ساخت نمایشگر LED روان یا تابلو روان با میکروکنترلر AVR, توسط تیم الکترونیک و برنامه نویسی الکترونیک ۹۸ برای شما علاقه مندان به پروژه های میکروکنترلر AVR آماده شده است. از کاربردهای جالب و پرطرفدار ال ای دی LED ها, استفاده از آنها در ساخت تابلوهای تبلیغاتی یا همان تابلو روان LED است. با بهره گیری از ال ای دی LED ها می توانیم پیام دلخواه خود را به آسانی نمایش دهیم یا با طراحی یک نمایشگر ال ای دی LED روان (تابلو روان), یک پیام متحرک را به نمایش در آوریم, همچنین امکان نمایش جلوه های ویژه نیز به سادگی فراهم می شود. در این پروژه با مراحل طراحی و ساخت یک نمایشگر ال ای دی LED روان (تابلو روان) 32*8 که به وسیله ماتریس های 8*8 پیاده سازی شده است, به طور کامل آشنا خواهید شد.

دانلود پروژه آموزش ساخت نمایشگر LED روان یا تابلو روان با میکروکنترلر AVR

کسب مهارت

در ساخت تابلو روان, با توجه به موارد استفاده ومکانی که باید نصب شوند, نوع نمایشگر متفاوت است, یعنی تعداد ال ای دی LED های استفاده شده, رنگ و نوع آن ها و حتی فاصله بین آن ها در بدنه نمایشگر, فرق می کند. به عنوان مثال, برای نمایش ساعت در اتوبوس ها از یک تابلو روان 24*8 با ال ای دی LED های مات استفاده می شود, در حالی که برای تبلیغات یک مغازه, یک تابلو روان 200*32 با ال ای دی LED های پرنور (High Light / Bright) مورد استفاده قرار می گیرد.

مهمترین نکته در ساخت تابلو روان ها یا تابلوهای تبلیغاتی مذکور این است که هر ال ای دی LED در بدنه نمایشگر باید قابل کنترل باشد. به عبارت دیگر بتوان هر ال ای دی LED را در هر لحظه خاموش و یا روشن کرد. شاید اولین راه حلی که به ذهن می رسد, این باشد که برای هر ال ای دی LED یک پایه از میکروکنترلر را در نظر بگیریم تا بتوانیم در هر لحظه آن را خاموش یا روشن کنیم, ولی بلافاصله متوجه می شویم که این کار عملی نیست, زیرا به عنوان مثال برای ساخت یک تابلو روان 32*8 به 256 عدد ال ای دی LED و به دنبال آن به همین تعداد پایه قابل کنترل توسط میکروکنترلر AVR نیاز داریم. در مورد تابلو روان های بزرگتر, ممکن است تعداد ال ای دی LED ها به چندین هزار عدد هم برسد!

اختصاص یک پایه مجزا برای راه اندازی هر LED در بدنه نمایشگر

 تکنیک جاروب یا اسکن (Scan)

برای حل این مشکل, راه حل بسیار کارآمدتر و کم هزینه تری نیز وجود دارد. این روش جالب از ضعف چشم انسان در دنبال کردن پدیده های سریع استفاده می کند. ساختار چشم انسان به گونه ای است که اگر پدیده ای در حدود 40 بار (یا بیشتر) در ثانیه تکرار شود, دیگر قادر به تشخیص نوسان آن نیست, بنابراین از دید انسان, نور چراغی که با فرکانس بیش از 40Hz, روشن و خاموش می شود, بدون لرزش و ثابت به نظر می رسد. به این ترتیب اگر ما یک ال ای دی LED را که در بدنه تابلو روان به کار رفته است, در هر ثانیه 50 بار خاموش و روشن کنیم, از دید ناظر, روشن به نظر می رسد. بنا به خاصیت گفته شده, ساختار ماتریسی شکل زیر را برای ساخت این نمایشگر ها پیشنهاد می کنیم.

دانلود پروژه آموزش ساخت نمایشگر LED روان یا تابلو روان با میکروکنترلر AVR

همانطور که در شکل ملاحظه می کنید, در هر سطر آند و در هر ستون کاتد همه ال ای دی LED ها به هم وصل شده اند, در نتیجه برای روشن کردن یک ال ای دی LED به عنوان مثال, برای روشن کردن ال ای دی LED متصل به سطر اول و ستون سوم باید سطر اول را به ولتاژ مثبت و ستون سوم را به زمین وصل کرد. اکنون نوبت آن است که نوشته ای را روی ماتریسی 8*8 شکل بالا نمایش دهیم. برای مثال فرض کنید می خواهید LED9 و LED18 را روشن کنیم و سایر ال ای دی LED ها خاموش باشند. می دانیم که برای روشن شدن ال ای دی LED ها باید سطر مربوط را یک و ستون مربوط را صفر کنیم, بنابراین دو سطر اول و دوم را یک و ستون اول و دوم را صفر می کنیم.

نتیجه مطلوب حاصل نمی شود! چراکه به جای دو LED9 و LED18 انتخابی چهار ال ای دی LED شامل LED9, LED10, LED17 و LED18 روشن شده اند. مشکل پیش آمده را با وضع یک قانون کلی حل می کنیم : (در هر لحظه, فقط باید یکی از ستون های ماتریس فعال صفر باشد). به این ترتیب ابتدا ستون اول را, در حالی که سایر ستون ها یک هستند, صفر می کنیم و در همین حال سطر مربوط را یک قرار می دهیمو پس در این لحظه فقط ال ای دی LED شماره LED9 روشن می شود. همین مراحل را برای روشن کردن ال ای دی LED شماره LED18 انجام می دهیم. برای اینکه هر دو LED9 و LED18 از چشم ناظر روشن به نظر برسند باید مرتبا ستون فعال (Active Column) را در طول ماتریس جابه جا کنیم و در زمان معین, اطلاعات مربوط را روی سطرها قرار دهیم. این عمل را اصطلاحا جاروب (Scan) می گویند.

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

یک روش برای ساخت تابلو روان های دارای بیش از 50 ستون, تقسیم آن به دو یا چند بلوک جدا از هم و جاروب همزمان بلوک های تقسیم شده است. به عنوان مثال, یک نمایشگر 80*16 دارای 80 ستون را به دو قسمت 40*16 تقسیم می کنیم. ستون های دو بلوک به صورت نظیر به نظیر با هم فعال می شوند. برای قرار دادن اطلاعات در سطر ها باید از آی سی های Latch (نگهدارنده اطلاعات) استفاده کرد.

تقسیم یک نمایشگر به دو قسمت کوچکتر و جاروب همزمان

یک آی سی کارآمد و مناسب برای این منظور تراشه 74L373 است که یک Latch هشت بیتی به همراه هشت معکوس کننده سه حالتی داخل یک بسته بندی 20 پایه می باشد. شماتیک کامل پروژه چگونگی اتصال آن ها را به میکروکنترلر نشان داده است.

استفاده از تراشه 74L373 برای نگهداری اطلاعات نمایشی

به این ترتیب, مشکل افزایش تعداد ستون های نمایشگر حل می شود, اما سطرها را تا کجا می توان افزایش داد؟ برای افزایش تعدد سطرها در تابلو روان ها مشکل خاصی وجود ندارد, جز اینکه با افزایش تعداد سطرها, حداکثر جریان عبوری از هر ستون نمایشگر افزایش می یابد و لازم است از نوعی بافر (Buffer) استفاده کنیم که قادر به تامین این جریان باشد.

به عنوان مثال می توان برای یک نمایشگر با 16 سطر, از ترانزیستور BC338 (که حداکثر 800mA جریان را درایو می کند), به عنوان راه انداز هر ستون استفاده کرد. به همین ترتیب, برای سطرهای بیشتر باید ترانزیستورهای قویتری را به کار ببریم. تراشه های بافر جریان بالا نیز می توانند برای این منظور استفاده شوند. به عنوان مثال, آی سی ULN2803 یک بافر هشت بیتی با جریان خروجی 500mA و سازگار با TTL است که گزینه مناسبی به نظر می رسد و می توان به جای ترانزیستورهای منفرد از آن استفاده کرد.

سخت افزار پروژه ساخت نمایشگر LED روان یا تابلو روان

با توجه به مطالب گفته شده, اکنون آماده ایم تا وارد مراحل اصلی طراحی و ساخت تابلو روان شویم. هدف ما در این پروژه ساخت یک تابلو روان 32*8 (8 سطر و 32 ستون) توسط میکروکنترلر AT90S8535 است, بنابراین 256 عدد ال ای دی LED نیاز داریم. البته می توان از ال ای دی LED های ماتریسی که به صورت آماده در بازار وجود دارند نیز استفاده کرد. شکل زیر یک ماتریس 8*8 را نشان می دهد که در بازار می توان انواع تک رنگ  و دو رنگ آن را با قیمت مناسب تهیه کرد. این ماتریس ها از ال ای دی LED های مات ساخته شده اند و بیشتر برای مکان هایی با نور کم و یا تابلو روان هایی که در شب استفاده می شوند, مناسبند.

دانلود پروژه آموزش ساخت نمایشگر LED روان یا تابلو روان با میکروکنترلر AVR

نقشه شماتیک پروژه ساخت نمایشگر LED روان یا تابلو روان

نقشه شماتیک ساخت نمایشگر LED روان یا تابلو روان با میکرو AVR

برنامه میکروکنترلر در محیط نرم افزار Bascom-AVR

شرح برنامه میکروکنترلر به زبان بیسیک

هسته اصلی برنامه از یک ساختار Do…Loop تشکیل شده است. زیر برنامه Show مسئول نمایش قسمتی از نوشته ها روی نمایشگر است که متغیر Index به ابتدای آن اشاره می کند. از آنجا که در این پروژه، نمایشگر دارای 8 سطر و 32 ستون است، نتیجه می گیریم که برای نشان دادن یک صفحه روی این نمایشگر، لازم است که 32 بایت (در هر ستون یک بایت) اطلاعات روی حافظه ذخیره کنیم. در واقع این اطلاعات روشن یا خاموش بودن هر LED در بدنه نمایشگر را شامل می شوند.

این اطلاعات باید قبلا استخراج شوند و در یک جدول لوکاپ (Lookup Table) ذخیره گردند. در این پروژه عبارت “به نام خدا” را برای نمایش در نظر گرفته ایم که کد استخراج شده آن در جدول لوکاپ قرار گرفته است. نحوه استخراج کد نیز بسیار ساده است. به این ترتیب که ما هر ستون را معادل یک بایت در نظر می گیریم و به ازای هر LED روشن، بیت معادل را یک می کنیم.

طبیعتا LED خاموش برابر صفر است. به عنوان مثال فرض کنید می خواهیم کد مربوط به نمایش حرف “ت” را بدست آوریم. کاری که انجام می دهیم این است که هر ستون را در یک بایت ذخیره می کنیم. در هر ستون LED بالایی معادل MSB (Most Significant Bit) است. با توجه به مطالب گفته شده، ستون اول تا سوم نوشته موجود در شکل زیر به ترتیب از راست به چپ برابر  با این مقادیر باینری است:

ستون اول: 00110000B = 48 Dec

ستون دوم: 00001000B = 8 Dec

ستون سوم: 00001000B = 8 Dec

به همین ترتیب سایر ستونها را نیز می توان به صورت باینری در حافظه ذخیره کرد.

استخراج کد باینری بر روی تابلو روان

زیرروال سرریز تایمر به همراه متغیر Speed سرعت حرکت متن را معین می کنند، به این ترتیب که اگر متغیر Play برابر یک باشد، تایمر پس از تعداد دفعات مشخص – که متغیر Speed آنرا تعین می کند – مقدار موجود در متغیر D را یکی افزایش می دهد که این عمل به نوبه خود باعث میی شود متن در حال نمایش در نمایشگر به اندازه یک ستون به سمت راست حرکت کند. تکرار این عمل باعث می شود که نوشته به صورت روان به حرکت درآید. با فشار دادن کلید Speed می توان سرعت حرکت متن را در 5 حالت مختلف تنظیم کرد. همانطور که قبلا نیز اشاره شد توسط کلید Play و Pause نیز می توانیم حرکت متن را متوقف کنیم و با آنرا به حرکت در آوریم.

نرم افزار تابلو روان LED Display Code Creator

در فایل همراه پروژه نرم افزاری با عنوان LED Display Code Creator موجود است که می توانید توسط آن به راحتی نوشته ای را به صورت گرافیکی و با کلیک روی خانه های تیره تولید کنید. پس از ایجاد متن دلخواه, با زدن یک دکمه, کد مربوط به نوشته مورد نظر تولید می شود و می توان آن را در یک فایل Text ذخیره کرد و در قسمت جدول لوکاب میکروکنترلر AVR استفاده نمود. به این ترتیب دیگر مجبور نخواهید بود عمل طاقت فرسای در آوردن کدها را به صورت دستی انجام دهید.

نمای ظاهری نرم افزار تابلو روان LED Display Code Creator

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 4.9 مگا بایت

 محیط برنامه نویسی : BASCOM-AVR

 برنامه نویسی شده به زبان : BASIC

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 14 آگوست 2014

4 دیدگاه

  1. یه سوالی داشتم اونم اینه که این پروژه آیا دارای توضیحات طریقه ساخت و کارکرد رو داره؟؟ چون نمیخوام پیش استادها کم بیارم و نتونم پاسخگوی سوالاتشون باشم

  2. سلام دوست عزیز
    توضیحات این پروژه همان توضیحات مندرج در پست می باشد و توضیحات دیگری ندارد.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

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

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