آی پی امداد
abtahi
آریا الکترونیک mehrinfo تکشو

نحوه کارکرد تابلو روان و چگونگی نمایش متن بر روی ال ای دی ها

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
سلام دوستان عزیز

در این تایپیک نحوه کارکرد تابلو روان و چگونگی نمایش متن بر روی ال ای دی ها بصورت اجمال توضیح داده میشود.(با تشکر از آقای لاچینی)

بلوک دیاگرام تابلو روان

[hide]
Diagram.gif

[/hide] همانطور که در تصویر مشاهده میکنید، این تابلوها از بلوکهای :
- ماتریس LED
- درایورهای سطر و ستون
- پردازنده
- تجهیزات ورود اطلاعات
- حافظه
تشکیل شده‌اند.
در واقع یک تابلوی نمایشگر دیجیتالی، متن مورد نظر خود را از طریق تجهیزات ورودی همچون کیبورد و یا پورت سریال دریافت میکند. و این اطلاعات را در اختیار پردازنده قرار میدهد. سپس پردازنده پس از آنالیز اطلاعات آن را در حافظه تابلو ذخیره نموده. علاوه بر آن حافظه موجود در تابلو میتواند کدهای برنامه را در خود نگهداری نماید. از طرفی پردازنده با توجه به اطلاعات ذخیره شده، سیگنالهای لازم را جهت نمایش تولید کرده و در اختیار درایورها قرار میدهد. با توجه به اینکه نحوه چیدمان LED ها در نمایشگر بنا به دلایلی که بعدا توضیح داده خواهد شد به صورت ماتریسی می باشد، لذا دو دسته درایور برای راه اندازی ماتریس نیاز است که شامل داریورهای سطر و داریورهای ستون مییاشند. این درایورها با توجه به فرامین دریافتی از سوی پردازنده، با روشن و خاموش نگاه داشتن LED های موجود در ماتریس، باعث به نمایش در آمدن مطالب (اعم از متن و یا تصویر) بر روی ماتریس خواهند شد.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
اجزای تصویر
به این
تصویر نگاه کنید، تصویر صورتک خندان !
در نگاه اول تصویر فوق به صورت یک تصویر کامل و یکپارچه به نظر می‌رسد. اما اگر کمی با دقت بیشتر به آن دقت کنید و تا حد امکان آنرا بزرگ نمایید متوجه خواهید شد که در واقع آن تصویر از نقاط ( pixel ) متعددی تشکیل شده. پس تصویر فوق را میتوان مجموعه نقاطی دانست که دارای رنگهای متفاوتی‌اند. هر یک از این نقاط را یک جزء تصویر (Picture Element) و این خاصیت را خاصیت موزائیکی تصویر می‌نامند. من جهت کمک به درک مطلب تصویر فوق را با بزرگ نمایی بیشتر در زیر قرار داده‌ام. به آن دقت کنید.
اجزای تصویر

[hide]

[/hide]​
هرچه تعداد اجزاء تصویر در واحد سطح بیشتر باشد، وضوح تصویر بیشتر می‌باشد. به عبارت دیگر تصویر به واقعیت نزدیکتر بوده، جزئیات آن بهتر دیده میشود. در تابلو‌های دیجیتالی نیز خاصیت موزائیکی وجود دارد. تصویر تابلو توسط ماتریسی از LED ها ایجاد میگردد. در اینجا ابعاد یک جزء تصویر به اندازه قطر یک LED است. که از یک فاصله معین چشم بیننده قادر به تمایز نقاط تصویر ایجاد شده نبوده و یک تصویر را یکپارچه احساس میکند.
 
آخرین ویرایش:

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
جاروب ساده
جهت تشکیل تصویر بر روی پانل تابلو، نیاز به روشن و خاموش نگه داشتن LED های موجود بر روی تابلو متناسب با تصویر مورد نظر است. بنابراین نیاز به کنترل تک تک LED های موجود در تابلو میباشد. از طرفی هر LED دارای دو پایه است ( با فرض تک رنگ بودن ) و در صورتی که ما یک پانل LED با ماتریس 10x10 داشته باشیم، دویست پایه و یا دویست سیم جهت کنترل داریم. مسلما استفاده از این تعداد سیم مقرون به صرفه نخواهد و باعث پیچیدگی مدار خواهد شد. جهت بر طرف کردن مشکل فوق می‌توان پایه های یکسان در LED ها را به صورت سطری و ستونی به یکدیگر متصل نمود. به تصویر زیر دقت کنید :
[hide]
Matrix-LED.gif

[/hide] همانطور که در تصویر مشاهده نمودید، در این آرایش آند تمامی LED های موجود در یک سطر یکسان به هم متصل شدند، همچنین کاتد LED های موجود در یک ستون نیز به هم اتصال داده شده‌اند.
حال ببینیم نحوه عملکرد این روش چگونه است. شما در این حالت جهت روشن کردن هر LED کافیست که سطری که آن LED در آنجا قرار دارد را به سطح ولتاز مثبت اتصال داده و سپس ستون مربوط به همان LED را به زمین مدار وصل کنید.
با این روش ما توانستیم از تعداد سیمهای مورد نیاز جهت کنترل LED ها بکاهیم ولی در مقابل امکان کنترل همزمان تمامی سطرها را از دست دادیم و در هر لحظه فقط و فقط میتوان LED های موجود در یک سطر و یا یک ستون را کنترل نمود.
نگران نباشید، در ادامه همین بحث خواهید دید که جهت نمایش نیازی هم به تمامی LED ها نبوده و میتوان توسط جاروب نمودن سطرها و یا ستون‌ها نیز به نمایش تصویر در تابلو روان پرداخت.
به هر حال در صورت عدم استفاده از روش فوق شما مدار پیچیده‌ای خواهید داشت، مثلا برای کنترل LED ها موجود در تصویر روبرو شما حداقل باید از طریق 41 سیم ماتریس را کنترل میکردید. در حالی که با استفاده از روش ماتریسی شما فقط به 13 سیم نیاز دارید. فقط در این حالت برنامه شما کمی پیچیده خواهد شد. که البته به نظر من شما یک بار برنامه مینویسید از آن تا ابد استفاده میکنید ولی سخت افزار را باید تا ابد مونتاژ کنید و هزینه آن را پرداخت کنید.
برای محاسبه مقدار مقاومت متصل به ماتریس با توجه به ولتاژ و تعداد LED ها و مشخصات LED ها میتوانید از برنامه آنلاین ماشین حساب LED به آدرس زیر استفاده کنید:
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
جاروب ساده
روش جاروب ساده به دو صورت بکار برده میشود :
- جاروب سطرها
- جاروب ستون‌ها
در جاروب سطرها شما LED های موجود در سطر اول را روشن میکنید، سپس LED های سطر دوم و . . . تا به سطر آخر برسیم. دوباره همین کار را دوباره انجام میدهیم.
در جاروب ستون‌ها شما LED های موجود در ستون اول را روشن میکنید، سپس LED های ستون دوم و . . . تا به ستون آخر برسیم. دوباره همین کار را دوباره انجام میدهیم.
به یکبار جاروب کامل (خواه سطرها و خواه ستون‌ها) تازه سازی (Refresh) میگویند.
جهت کمک به درک مطلب، به انیمیشنی از جاروب سطری که در زیر آورده شده نگاه کنید.
[hide]
HLachini-animation.gif

[/hide] انیمیشن فوق جهت ساخت تصویر زیر است.
HLachini.gif
توجه داشته باشین که جاروب کردن علاوه بر کاهش سیم بندی و کم شدن پیچیدگی آن میشود، باعث خواهد شد که شما در هر لحظه تعداد کمتری از LED های تابلو را روشن کنید و در نتیجه میزان مصرف جریان الکتریکی تابلو به میزان قابل توجه‌ای کاهش پیدا خواهد نمود.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
اثر فلیکر
اثر نور در چشم انسان برای مدت کوتاهی باقی می‌ماند. این خاصیت را اثر پس ماند نور (Flicker) می‌نامند. بر‌مبنای همین خاصیت است که در سینما و تلویزیون احساس پیوستگی تصویر بوجود می‌آید.
چنانچه تصاویری که از یک حرکت مثلا راه رفتن انسان عکس برداری شود و سپس با سرعت 16 بار در ثانیه به نمایش درآید، چشم انسان منقطع بودن تصاویر را احساس نکرده و تصاویر را بطور پیوسته حس می‌کند. بر مبنای این خاصیت بود که صنعت سینما بوجود آمد.
ترتیب کار به این صورت است که توسط یک دوربین فیلمبرداری مخصوص که قادر است در هر ثانیه 16 تصویر از یک صحنه عکس برداری نماید، تصاویر تهیه شده سپس با همان سرعت به نمایش در می‌آیند. البته به علت اینکه با 16 تصویر در ثانیه حرکات نرم و طبیعی نداریم، فرکانس مزبور بعدا به 24 تصویر در ثانیه افزایش داده شد. در این فرکانس برای بیش از 90 درصد حرکات، پیوستگی طبیعی بوجود می‌آید. به همین علت به فرکانس مزبور حد پیوستگی گفته میشود. مشکل دیگر مسئله چشمک زدن تصویر است.
[hide]
Signe-LED-Clock.jpg

[/hide] در فرکانس 24 تصویر در ثانیه اگر چه مسئله پیوستگی تصاویر حل میشود اما تصاویر چشمک می‌زنند و این بخاطر این است که چشم اگرچه در این فرکانس، تصاویر را پیوسته می‌بیند و حرکات را طبیعی احساس میکند اما خاموش شدن صحنه در حین تعویض یک تصویر به تصویر بعدی بوجود می‌آید را بصورت چشمک زدن تصویر احساس میکند. این پدیده بخصوص برای تصاویری با نور بیشتر محسوس‌تر است.
برای رفع این مشکل باید حداقل 48 تصویر در ثانیه به نمایش درآید تا اثر چشمک زدن از بین رود. در سینما چون نمایش 48 تصویر در ثانیه، اشکالات عملی بوجود می‌آورد، مسئله را به طریق دیگری حل نموده‌اند. به این ترتیب که سرعت حرکت نوار فیلم از مقابل لامپ پروژکتور همان 24 تصویر در ثانیه است منتهی به کمک یک دیافراگم گردان به هنگام تعویض یک فریم به فریم بعدی و همچنین در زمان نمایش فریم و درست در وسط زمان مزبور نور لامپ پروژکتور به فیلم قطع میشود. با اینکار هر فریم دو بار روشن و خاموش میشود.
با این تدبیر که هر تصویر دو بار روشن میشود و سرعت حرکت نوار 24 تصویر در هر ثانیه است، از نظر چشم 48 تصویر در ثانیه احساس میشود و مشکل چشمک زدن از بین میرود. در تابلوهای روان هم مسائل پیوستگی تصاویر و همچنین چشمک زدن، عوامل تعیین کننده سیستم جاروب و زمانهای مربوطه هستند.
 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
جاروب یک در میان
همانطور که گفته شد، جهت نمایش مناسب تصاویر متحرک باید حداقل 24 تصویر در ثانیه نمایش داده شود. حال فرض کنید شما یک تابلو با 32 سطر می‌خواهید طراحی کنید و از جاروب سطری هم استفاده می‌کنید در این حالت زمان نمایش هر فریم تصویر برابر با 41.6 میلی ثانیه خواهد بود و در هر فریم 32 سطر جهت جاروب داریم پس زمان روشن بودن هر سطر برابر با 1.3 میلی ثانیه خواهد بود.
خوب شما مدار را طراحی و میسازید اما در پایان متوجه میشوید که نور LED ها بسیار کم تر از حالت معمولی است و حسابی متعجب خواهید شد که چرا با وجود استفاده از LED های مرغوب نور تابلو روان تا این حد کم است؟!
نکته اینجاست که شما هر LED را فقط به مدت 1.3 میلی ثانیه روشن نگاه میدارید و سپس به مدت 31 برابر این مدت خاموش نگاه میدارید( به خاطر جاروب 31 سطر بعدی ) یعنی 1.3 میلی ثانیه روشن و 40.3 میلی ثانیه خاموش است. ودر واقع اثر نور LED در چشم به میزان قابل توجه‌ای کاهش می‌یابد.
جهت کم کردن این اثر و افزایش نور تابلو روان چند کار را می‌توان انجام داد :
1- افزایش ولتاژ اعمالی به LED ها که معمولا این کار خطر سوختن LED ها در اثر هنگ کردن تابلو افزایش داده و همچنین از عمر مفید آن نیز خواهد کاست.
2- تقسیم تابلو به سگمنت های جداگانه مثلا برای مثال فوق تقسیم تابلو به 4 سگمنت 8 سطری. این روش مناسبی است ولی به پیچدگی نرم‌افزار و سخت‌افزار خواهد افزود و در تابلو های کوچک توصیه نمی‌شود.
3- جاروب یک در میان، این روش راه حل مناسبی در بر طرف نمودن مشکل فوق است. در عین حال که به پیچیدگی مدار منجر نخواهد شد و همچنین با تغییر ساده‌ای در الگوریتم برنامه میتوان از آن بهره برد.
ترتیب کار به این صورت است که ما هر فریم کامل را که در مثال فوق برابر با 32 سطر است به دو نیم فریم تقسیم میکنیم. فریم اول شامل سطرهای فرد (1،3،5،7،9،11،13،15،17،19،21،23،25،27،29،31) و فریم دوم شامل سطرهای زوج (2،4،6،8،10،12،14،16،18،20،22،24،26،28،30،32) است. حال در هر جاروب فقط یکی از دو نیم فریم زوج ویا فرد را جاروب میکنیم. بدین ترتیب که یکبار نیم فریم فرد و بار بعد نیم فریم زوج و دوباره نیم فریم فرد و ... در این حالت چون در هر بار فقط 16 سطر جاروب میشوند لذا زمان روشن بودن هر LED بیشتر خواهد شد. البته حتما شما خواننده تیز بین این مقاله متوجه شدید که در این حالت در ثانیه فقط ما 12 تصویر (فریم کامل) نمایش داده‌ایم پس احتمالا بخاطر این کاهش مجددا مشکل لرزش تصویر را داشته باشیم!
البته شما کاملا حق دارید ولی نکته ظریفی هم این بین وجود دارد و آن هم این است که تعداد نیم فریم های نمایش داده شده در یک ثانیه همان 24 عدد است. در نتیجه لرزش تصویر منتفی خواهد بود.
جهت کمک به درک بهتر این مطلب نحوه جاروب در یک تابلو روان 8 سری بصورت انیمیشن در زیر نمایش داده شده است.

Slowe-Refresh.gif

انیمیشن فوق با سرعت بالاتر :

[hide]
Fast-Refresh.gif

[/hide] متن مورد نمایش :

 

jfrras

مدير انجمن تخصصی الکترونیک
مدیر تالار
2007-04-13
3,099
74,086
48
ایران
جدول گلایف

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


[hide]
Gelayof.gif

[/hide] همانطور که مشاهده میکنید در تصویر فوق من نمونه ای از جدول گلایف را برای حرف A و صورتک خندان ترسیم کردم و در ستون سمت چپ هر تصویر کد هگز(Hex) مربوط به هر سطر را درج کردم. که با فرض این بوده که پهنای هر کاراکتر هشت پیکسل بوده و به ازای هر پیکسل فعال بیت مرتبط با آن یک در نظر گرفته شده. در نتیجه در دو مثال فوق که ارتفاع هر کاراکتر 12 سطر است، برای ذخیره اطلاعات هر کاراکتر به 12 بایت نیاز داریم. حال بسته به زبان برنامه نویسی که شما از آن استفاده میکنید نحوه ذخیره بازیابی این جدول متفاوت خواهد بود. البته نرم‌افزارهایی نیز جهت طراحی فونت نیز در این زمینه وجود دارد. من از نرم افزاری که استفاده میکنم اجازه میدهد مستقیما یک جدول گلایف کامل را طراحی کنم و از طرفی خروجی فونت های طراحی شده به فرمت مختلف میباشد که اجازه استفاده در زبانهای مختلف را میدهد. که من با استفاده از همین نرم افزار فونت های مختلف فارسی را طراحی کردم که شامل 16 فونت مختلف میباشد که دارای ارتفاع 16 سطری میباشند و همچنین دو مدل فونت انگلیسی 8 و 12 سطری را شامل میشود.
جهت تبدیل متن به کدهای هگز برای اولین بار بنده برنامه آنلاینی را طراحی کردم که اینکار را براحتی برای شما انجام میدهد. البته فعلا متن انگلیسی. در این برنامه با دادن متن و سایز فونت که عددی بین 1 تا 5 است و نوع داده خروجی براساس هگز یا باینری و همینطور تعیین زبان که میتواند سی کدویژن و یا سی GCC و حتی بیسیک بسکام باشد را انتخاب کنید و درنهایت خروجی را مشاهده کنید.

با تشکر از آقای لاچینی
 
بالا