Google Translate
جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060 ارسال كنيد.
· موتور همو پلار در 10 ثانيه | [ 5 نظر - 15327 مشاهده ] |
· نصب برنامه در Slax | [ 9 نظر - 11681 مشاهده ] |
· ورود به محيط Slax | [ 16 نظر - 12119 مشاهده ] |
· خواندن فایلهای MMC و SD با فرمت FAT16 , FAT32 | [ 33 نظر - 25950 مشاهده ] |
· رله کنترل فاز Three Phase Monitor | [ 35 نظر - 30040 مشاهده ] |
تابلوروان: ایجاد حرکت در تابلو روان - حرکت به چپدر این جلسه چگونگی ایجاد حرکت دادن متون و تصاویر را در تابلو روان میآموزیم، البته برنامه تابلو روان بسته به اینکه شما در سخت افزار خود از چه روشی جهت جاروب ماتریس LED استفاده کرده باشید فرق خواهد کرد. معمولاً اگر از جاروب ستونی استفاده کنید نوشتن برنامه برای حرکت متن بصورت افقی ساده تر است و در جاروب سطری نوشتن برنامه برای حرکت عمودی ساده تر خواهد بود. البته شما فرد خوش شانسی هستید چون مداری که در ابتدای این بحث به شما برای تست عملی معرفی شد، قابلیت اجرای جاروب سطری و ستونی را با توجه به ساختار حقیقتاً ساده خود دارد. حالا تصور کنید که ما بجای اینکه در این روش ابتدا اطلاعات ستون اول را در محل اصلی خود یعنی همان ستون اول نمایش دهیم، در ستون دوم نمایش دهیم و همینطور سایر اطلاعات را به اندازه یک ستون جابجا نمایش دهیم، چه اتفاقی میافتد؟ بله، متن به نمایش در خواهد آمد ولی بصورت افقی به اندازه یک ستون جابجا شده. اساس کار حرکات افقی ( چپ و راست ) در تابلوهای روان با جاروب ستونی هم همین است. به برنامه زیر دقت کنید. من برای شروع بحث، برنامه حرکت متن را در مدارات تابلو روان با جاروب سطری آغاز میکنم. همانطور که میدانید در این روش در جدول گلایف اطلاعات هر کاراکتر بصورت ستونی ذخیره شده و ما در هر لحظه فقط یک ستون را فعال میکنیم و سایر ستون ها غیر فعال هستند. For S = 0 To 4 همانطور که میبینید این برنامه از سه حلقه For-Next تو در تو تشکیل شده، دو حلقه درونی صرفاً به نمایش اطلاعات میپردازند. حلقه داخلی یکبار تمام ستونها را جاروب میکند. حلقه وسط این کار را تا ده مرتبه تکرار میکند تا متن به اندازه کافی دیده شود و حلقه خارجی هر بار محل خواندن اطلاعات از جدول گلایف را به اندازه یک بایت (یک ستون) جابجا میکند. که باعث به حرکت درآمدن متن در تابلو میشود. دقت کنید که ما در دستور Lookup آدرس خواندن اطلاعات را از متغییر Index میخوانیم، که این متغییر هم مقدارش توسط جمع زدن مقادیر Col و S محاسبه میشود که Col ستون در حال جاروب شدن بر روی ماتریس LED را نشان میدهد و S محل شروع خواندن مقادیر در جدول گلایف است. خوب برنامه را اجرا کنید. تعجب کردید... یک کاراکتر عجیب غریب که مثل دنباله به کاراکتر اصلی شما چسبیده و به دنبال آن حرکت میکنه. این موجود ناشناخته از کجا پیداش شد؟! نمیتونید این مطلب به گردن میکروکنترلر بیچاره بیندازید. چون اون بجز اجرای بی چون چرای دستورات شما هیچکار دیگری نمیکنه. پس باید بکار خود شک کنیم. بله دوباره به سراغ برنامه میرویم و آنرا با دقت بیشتری بررسی میکنیم. زمانی که مقدار متغییر S یک میشود یعنی لحظهای کاراکتر به اندازه یک ستون بر روی ماتریس LED جابجا میشود مقدار متغییر Index برابر با 5 خواهد شد ( البته در زمانی که مقدار متغییر Col برابر با 4 است ). و در دستور بعدی توسط فرمان Lookup میکرو به سراغ برداشتن بایت ششم ذخیر شده در جدول Gelayof میرود. در حالی که ما این جدول را تا 5 بایت تعریف کردیم و عملاً در مکان ششم هیچ متغییری توسط ما تعریف نشده و محتویات آن ناحیه نامشخص است. Gelayof:
و باعث میگردد که شما آن موجود غریبه را مشاهده کنید. برای رفع این مشکل باید به انتهای جدول گلایف به اندازه ابعاد ماتریس اضافه کنیم و مقادیری را در آن قرار دهیم که زمان نمایش چیزی بر روی تابلو روان نمایان نشود.( در این برنامه تمامی خانه ها یک میشوند ). Gelayof: خوب دوباره برنامه را اجرا میکنیم، البته این بار با جدول گلایف جدید. به نظر میرسد که دیگر مشکلی وجود ندارد و ما توانستیم آن غول بی شاخ و دم که پشت سر متن اصلی حرکت میکرد را از بین ببریم. اما هنوز یک ایراد کوچک در تابلو باقی مانده آنهم این است که هنگام نمایش حرکت به سمت چپ کاراکتر A یکدفعه بصورت کامل ظاهر میشود و سپس به تدریج از سمت چپ تابلو روان خارج میشود. در حالیکه بهتر این هست که کمی برای خود کلاس بگذارد و به تدریج از سمت راست تابلو روان ظاهر شود و از سوی دیگر خارج. برای انجام این کار بهترین کار قرار دادن یک فضای خالی در ابتدای کاراکتر در جدول گلایف است که ابعاد این فضا به اندازه ابعاد ماتریس LED تابلو روان میباشد. که در تابلوی ما این مقدار به اندازه یک کاراکتر است. پس جدول گلایف به شکل زیر تغییر میکند. Gelayof: البته عجله نکنید چون اگر همین الان برنامه را اجرا کنید خواهید دید که کاراکتر A به آرامی از سمت راست وارد میشود( همانطور که انتظار داشتیم ) ولی به محض اینکه بصورت کامل وارد شد یکدفعه مخفی شده و دوباره این حرکت را تکرار میکند. خوب علت این قضیه این هست که ما هنوز به برنامه جاروب این تغییر در ابعاد جدول گلایف را اطلاع ندادیم. بله باید در حلقه For-Next اول مقدار نهایی متغییر S را از 4 به 9 افزایش دهیم ( به اندازه طول اضافه شده به جدول گلایف ). و دستورات مربوط به جاروب به شکل زیر در خواهند آمد. For S = 0 To 9 متن کامل برنامه حرکت به سمت چپ در تابلو روان با جاروب ستونی : '********************************************* کلمات کليدي : ارسال شده در مورخه : سه شنبه، 9 مهر ماه ، 1387 توسط admin
مرتبط با موضوع : مثال تابلو 16 در 128 با مبدل آنلاین [پنجشنبه، 11 شهريور ماه ، 1389]تابلو روان و اندازه گیری دما با SMT160 [چهارشنبه، 3 شهريور ماه ، 1389] انیمیشن در تابلوروان توسط 74HC595 [پنجشنبه، 7 مرداد ماه ، 1389] تابلوروان با میکرو 8051 [سه شنبه، 5 مرداد ماه ، 1389] نرم افزار آنلاین تبدیل متن به کد هگز [چهارشنبه، 17 تير ماه ، 1388] انیمیشن در تابلو روان [دوشنبه، 4 شهريور ماه ، 1387] جاروب ستوني [يكشنبه، 3 شهريور ماه ، 1387] برنامه نویسی اولین تابلوروان [يكشنبه، 3 شهريور ماه ، 1387] بررسی اولین مدار عملی تابلو روان [يكشنبه، 3 شهريور ماه ، 1387] جدول گلایف [يكشنبه، 3 شهريور ماه ، 1387]
[ ارسال جوابیه ]
[ ارسال جوابیه ] |
امتیاز دهی به مطلب
تعداد آراء: 10 انتخاب ها
|