Google Translate
جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 99009123812060 ارسال كنيد.
· موتور همو پلار در 10 ثانيه | [ 5 نظر - 15350 مشاهده ] |
· نصب برنامه در Slax | [ 9 نظر - 11708 مشاهده ] |
· ورود به محيط Slax | [ 16 نظر - 12143 مشاهده ] |
· خواندن فایلهای MMC و SD با فرمت FAT16 , FAT32 | [ 33 نظر - 25979 مشاهده ] |
· رله کنترل فاز Three Phase Monitor | [ 35 نظر - 30074 مشاهده ] |
تابلوروان: انیمیشن در تابلو روانانیمیشن یا متحرک سازی، فنی است که با استفاده از تعدادی تصویر ثابت به ایجاد یک تصویر متحرک میپردازند. در این روش تصاویر بصورت متوالی و با فاصله زمانی معین به نمایش در میآیند. هر تصویر با تصویر قبل و بعد خود اندکی اختلاف دارد، از طرفی بدلیل تاخیر چشم انسان در ثبت تصاویر، با نمایش هر تصویر جدید اثر آن تا نمایش تصویر بعدی در چشم باقی میماند در نتیجه چشم متوجه ثابت بودن تصاویر نشده و آنها را به صورت متحرک احساس میکند.
در تابلوی روان نیز از همین روش جهت ایجاد تصاویر متحرک استفاده میشود. در واقع ما با ایجاد یک جدول گلایف که شامل اطلاعات هر تصویر میباشد و سپس با نمایش سریع تصاویر موجود در این جدول به نمایش یک انیمیشن میپردازیم. من در این برنامه تصمیم به ایجاد انیمیشنی ساده دارم که شما با مطالعه و بررسی این مقاله با اصول اولیه ساخت تصاویر متحرک در تابلو روان آشنا خواهید شد. در این برنامه با نمایش متوالی کاراکترهای |،/،-، یک انیمیشن ساده درست کردهام، که پس از نمایش به صورت حرکت دورانی یک خط حول مرکز خود دیده خواهد شد( همانگونه که قبلا در فیلم موجود در سایت از تابلو روان مشاهده نمودید). حال به توضیح برنامه میرسیم. در ابتدا به توضیح هر یک از متغیرهای استفاده شده در برنامه میپردازم. در این برنامه از پنج متغییر استفاده شده. در زیر نحوه تعریف متغییر های مورد نیاز آورده شده.
Dim Row As Byte
Row : این متغییر شمارنده سطرهای ماتریس LED است. Scan : توسط این متغییر سیگنالهای فعال سازی سطرها جهت جاروب تولید میشود. Refresh : جهت تولید انیمیشن در این برنامه از نمایش متوالی چهار کارا کتر استفاده شده، که این متغییر تعداد دفعات نمایش یک کاراکتر ( جاروب کامل ) را قبل از نمایش کاراکتر بعدی تعیین میکند.Character : آدرس محل شروع اطلاعات ( سطر اول ) مربوط به هر کاراکتر، در این متغییر قرار میگیرد. C : آدرس محل اطلاعات مربوط به سطر کاراکتر مورد نمایش در جدول گلایف برنامه (Animation) در این متغییر نگهداری میشود. بعد از تعریف متغییرها در برنامه به حلقه اصلی برنامه (Do-Loop) میرسیم. این حلقه بدلیل آنکه شرطی برای اتمام آن ذکر نشده، به تعداد بینهایت بار اجرا میگردد که ما هم به آن نیاز داریم! درون این حلقه دستورات و کدهای برنامه قرار دارد.
For Character = 0 To 27 Step 7
در اولین دستور به حلقه For-Next میرسیم که متغییر Character به عنوان شمارنده این حلقه در نظر گرفته شده، همانطور که قبلا نیز اشاره شد این متغییر آدرس محل شروع اطلاعات مربوط به هر کارکتر را محاسبه میکند. که مسلما برای اولین کاراکتر مقدار آن صفر است و از طرفی چون ارتفاع هر کاراکتر 7 سطر میباشد لذا میزان افزایش( گامهای) آن هفت تایی تعریف شده.
در حلقه مربوط به متغییر Character حلقه For-Next دیگری با متغییر Refresh قرار دارد. تعداد دفعات اجرای دستورات این حلقه ده بار میباشد. که تعیین کننده تعداد جاروب های کامل هر کاراکتر قبل از نمایش کاراکتر بعدی میباشد. در اولین دستور بعد از تعریف حلقه، متغییر Scan مقداردهی اولیه میشود. تا سیگنال مورد نیاز جهت فعال نمودن سطر نخست تولید گردد. با توجه به ساختار ماتریس LED مورد استفاده در این تابلو روان ( اتصال کاتد LED های موجود در یک سطر به یکدیگر ) جهت فعال سازی یک سطر باید پین مربوط به آن سطر در میکرو صفر شود و سایر پین های مربوط به دیگر سطرها، یک شوند. همانطور نیز که مشاهده کردید در دستور فوق نیز بیت نخست متغییر Scan نیز صفر شده که مربوط به سطر اول ماتریس است و سایر بیتها نیز یک شدهاند. در نتیجه فقط سطر اول فعال خواهد شد و سایر سطرها غیر فعال هستند.
Scan = &B11111110
در ادامه به حلقه For-Next دیگری با متغییر Row میرسیم. دستورات موجود در این حلقه هفت بار اجرا میگردند که در هر بار یک سطر از ماتریس LED فعال میشود. در نتیجه با اجرای کامل این حلقه یک کاراکتر به نمایش در میآید. روند اینکار بدین شکل است، ابتدا توسط دستور زیر سطر مورد نظر فعال میگردد.
Portb = Scan
سپس آدرس سطر مورد نظر از کارکتر نمایشی محاسبه میشود و در متغییر C قرار میگیرد. همانطور که مشاهده میکنید این آدرس به دو پارامتر سطر نمایشی Row و کاراکتر نمایشی Character وابسته است.
C = Character + Row
پس از مشخص شدن آدرس محل اطلاعات سطر مورد نظر جهت نمایش در ماتریس، این اطلاعات توسط دستور Lookup از جدول Animation استخراج شده در پورت D قرار میگیرد.
Portd = Lookup(c , Animation)
سپس به مدت بیست میکرو ثانیه اطلاعات فوق در پورت باقی میماند. تا اثر نور LED ها در چشم باقی بماند. توجه داشته باشید اگر این زمان خیلی کوچک انتخاب شود نور تابلو روان کاهش پیدا خواهد کرد و در صورتی که این زمان بیش از حد افزایش یابد باعث میگردد تا حرکات یکنواخت به نظر نرسند و حتی جاروب کردن بدرستی انجام نشود.
Waitus 20
بعد نمایش اطلاعات یک سط باید LED های آن سطر خاموش شوند. در غیر این صورت زمانی که شما سطر بعدی را فعال میکنید برای یک لحظه کوتاه اطلاعات سطر ماقبلی نمایش داده میشوند که در تابلو روان باعث میگردد شما یک حاله نورانی کوچک بالا و یا پائین (بسته به جهت جاروب) نوشته و یا تصاویر ظاهر شود.
Portd = 0
در آخرین دستور حلقه، متغییر Scan به اندازه یک بیت به سمت چپ شیفت چرخشی داده میشود تا آماده فعال نمودن سطر بعدی و غیر فعال کردن سایر سطرها شود.
Rotate Scan , Left
همانطور که نیز در ابتدای این مقاله اشاره شد. جهت ایجاد انیمیشن ما در این برنامه از یک جدول گلایف به نام Animation استفاده کردیم. در این جدول اطلاعات مربوط به چهار کاراکتر /،-،،| ذخیره شده که با نمایش متوالی این چهار کاراکتر انیمیشنی بشکل چرخش یک خط حول مرکز خود به نمایش در خواهد آمد. جدول فوق به صورت زیر در برنامه تعریف شده است.
Animation:
امیدوارم که مطالب ارائه شده در این مقاله برای شما دوستان مفید واقع شده باشد. متن کامل برنامه را که با استفاده از نرمافزار BASCOM AVR 1.11.8.1 نوشته شده در زیر مشاهده میکنید. این نسخه از نرم افزار مشکلات نسخه های پیشین را ندارد بالاخص اینکه نسخه های موجود در بازار Demo بوده و به شما امکان نوشتن برنامههایی با حجم بیش از دو کیلو بایت را نمیدهند. شما جهت نوشتن برنامه تابلو روان حرفهای نمیتوانید از نسخه Demo استفاده کنید. پس
'*********************************************
در این بخش من فایل های برنامه انیمیشن در تابلو روان را قرار دادم. این فایلها با فرمت Zip فشرده سازی شده است. این فایل ها عبارتند از :
جهت دانلود اینجا کلیلک کنید. همانطور که ملاحظه کردید برای ساخت یک انیمیشن باید اطلاعات تک تک فریم های آن را داشته باشید. و با این اوصاف طراحی هر فریم به روش دستی بسیار وقت گیر و مشکل است. بهترین روش طراحی انیمیشن در نرم افزارهای مخصوص آن و سپس استخراج و تبدیل آن به کدهای قابل استفاده در برنامه است. برای اینکار میتوانید از نرم افزار آنلاین تبدیل انیمیشن به کدهای تابلوروان استفاده کنید. که آدرس آن در زیر داده شده است: http://www.hlachini.com/gifanimation2hex.wiz
کلمات کليدي : ارسال شده در مورخه : دوشنبه، 4 شهريور ماه ، 1387 توسط admin
مرتبط با موضوع : مثال تابلو 16 در 128 با مبدل آنلاین [پنجشنبه، 11 شهريور ماه ، 1389]تابلو روان و اندازه گیری دما با SMT160 [چهارشنبه، 3 شهريور ماه ، 1389] انیمیشن در تابلوروان توسط 74HC595 [پنجشنبه، 7 مرداد ماه ، 1389] تابلوروان با میکرو 8051 [سه شنبه، 5 مرداد ماه ، 1389] نرم افزار آنلاین تبدیل متن به کد هگز [چهارشنبه، 17 تير ماه ، 1388] جاروب ستوني [يكشنبه، 3 شهريور ماه ، 1387] برنامه نویسی اولین تابلوروان [يكشنبه، 3 شهريور ماه ، 1387] بررسی اولین مدار عملی تابلو روان [يكشنبه، 3 شهريور ماه ، 1387] جدول گلایف [يكشنبه، 3 شهريور ماه ، 1387] جاروب یک در میان [يكشنبه، 3 شهريور ماه ، 1387]
[ ارسال جوابیه ] |
امتیاز دهی به مطلب
تعداد آراء: 8 انتخاب ها
|