کاربر مهمان، خوش آمديد!  ( ورود - عضويت )   امروز 1 آذر ماه ، 1387
 
منوی اصلی
  • صفحه اول
  • مدارات و پروژه ها
  • مدارات و پروژهای سایت قدیمی
  • انجمن سایت ( تالار گفتمان)
  • دانلود
  • جستجو
  • لینکهای مفید
  • نقشه سایت
  • نمایش ساده
  • تماس با ما

  • جستجو



    مطالب تصادفی

    مدارات صنعتی
    [ مدارات صنعتی ]

    ·چشمک زن با LM317
    ·چشمک زن همه فن حریف!
    ·لامپ هشدار - فلاشر 220 ولت
    ·دیمر دیجیتال توسط میکروکنترلر ATmega8
    ·دیمر - کنترل لامپ، موتور، هیتر
    ·مانيتورينگ و كنترل دما توسط كامپيوتر

    برترين دانلودها
    · 1: برنامه و نقشه تابلوروان5در7
    · 2: شماره گير جادويي تلفن
    · 3: كنترلر دما توسط كامپيوتر
    · 4: انیمیشن در تابلو روان
    · 5: برنامه و نقشه تابلوروان 5 در 7 با جاروب ستوني
    · 6: توليد كننده سورس بسكام برنامه تابلو روان
    · 7: نرم افزار طراحی فونت مورد نياز تابلو روان
    · 8: نرم افزار تبديل متن به كدهاي گلایف جهت تابلوروان

    نسخه قديمي سايت

    با توجه به استقبال فراوان شما دوستان قديمي سايت از مطالب و موضوعات گذشته، لينك صفحه ليست مدارات و پروژه هاي الكترونيك در اين بخش قرار داده شده است. البته اين مطالب به مرور در نسخه جديد هم قرار ميگيرد ولي بروز رساني مقالات فقط در نسخه جديد انجام ميشود.


    SMS خبرنامه

    SMS

    جهت دريافت رايگان تازه هاي سايت شماره مويايل خود را به همراه نام و نام خانوادگي به شماره 09123812060  ارسال كنيد.


    تبليغات



    تابلوروان: انیمیشن در تابلو روان
    تابلوروان - تابلو روان

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

     

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



    من در این برنامه تصمیم به ایجاد انیمیشنی ساده دارم که شما با مطالعه و بررسی این مقاله با اصول اولیه ساخت تصاویر متحرک در تابلو روان آشنا خواهید شد. در این برنامه با نمایش متوالی کاراکترهای |،/،-،\ یک انیمیشن ساده درست کرده‌ام، که پس از نمایش به صورت حرکت دورانی یک خط حول مرکز خود دیده خواهد شد( همانگونه که قبلا در فیلم موجود در سایت از تابلو روان مشاهده نمودید).

     حال به توضیح برنامه میرسیم. در ابتدا به توضیح هر یک از متغیرهای استفاده شده در برنامه میپردازم. در این برنامه از پنج متغییر استفاده شده. در زیر نحوه تعریف متغییر های مورد نیاز آورده شده.

     

    Dim Row As Byte
    Dim Scan As Byte
    Dim Refresh As Byte
    Dim Character As Byte
    Dim C As Byte

     

    Row : این متغییر شمارنده سطرهای ماتریس LED است.

    Scan : توسط این متغییر سیگنالهای فعال سازی سطرها جهت جاروب تولید میشود.

    Refresh : جهت تولید انیمیشن در این برنامه از نمایش متوالی چهار کاراکتر استفاده شده، که این متغییر تعداد دفعات نمایش یک کاراکتر ( جاروب کامل ) را قبل از نمایش کاراکتر بعدی تعیین میکند.

    Character : آدرس محل شروع اطلاعات ( سطر اول ) مربوط به هر کاراکتر، در این متغییر قرار میگیرد.

    C : آدرس محل اطلاعات مربوط به سطر کاراکتر مورد نمایش در جدول گلایف برنامه (Animation) در این متغییر نگهداری میشود.

     بعد از تعریف متغییرها در برنامه به حلقه اصلی برنامه (Do-Loop) میرسیم. این حلقه بدلیل آنکه شرطی برای اتمام آن ذکر نشده، به تعداد بینهایت بار اجرا میگردد که ما هم به آن نیاز داریم! درون این حلقه دستورات و کدهای برنامه قرار دارد.

     

    For Character = 0 To 27 Step 7
    For Refresh = 0 To 10
        Scan = &B11111110
        For Row = 0 To 6
            Portb = Scan
            C = Character + Row
            Portd = Lookup(c , Animation)
            Waitus 250
            Portd = 0
            Rotate Scan , Left
        Next Row
    Next Refresh
    Next Character

     

    در اولین دستور به حلقه 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:

    'character '/'

    Data &B00000
    Data &B00001
    Data &B00010
    Data &B00100
    Data &B01000
    Data &B10000
    Data &B00000


    'character '-'

    Data &B00000
    Data &B00000
    Data &B00000
    Data &B11111
    Data &B00000
    Data &B00000
    Data &B00000


    'character '\'

    Data &B00000
    Data &B10000
    Data &B01000
    Data &B00100
    Data &B00010
    Data &B00001
    Data &B00000


    'character '|'

    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100

     

    امیدوارم که مطالب ارائه شده در این مقاله برای شما دوستان مفید واقع شده باشد. متن کامل برنامه را که با استفاده از نرم‌افزار BASCOM AVR 1.11.8.1 نوشته شده در زیر مشاهده میکنید. این نسخه از نرم افزار مشکلات نسخه های پیشین را ندارد بالاخص اینکه نسخه های موجود در بازار Demo بوده و به شما امکان نوشتن برنامه‌هایی  با حجم بیش از دو کیلو بایت را نمی‌دهند. شما جهت نوشتن برنامه تابلو روان حرفه‌ای نمی‌توانید از نسخه Demo استفاده کنید. پس

     

    '*********************************************
    '* This Program Writing By : Hossein Lachini                    *
    '* Animation on the LED Signe Board                               *
    '* For to get more details visit :                                       *
    '*                
    www.HLachini.com                          *
    '* Contact to me by :
    eLachini@Gmail.com      *
    '*********************************************

    $regfile = "m8def.dat"
    $crystal = 8000000

    Config Portb = Output
    Config Portd = Output

    Dim Row As Byte
    Dim Scan As Byte
    Dim Refresh As Byte
    Dim Character As Byte
    Dim C As Byte


    Do
    For Character = 0 To 27 Step 7
    For Refresh = 0 To 10
        Scan = &B11111110
        For Row = 0 To 6
            Portb = Scan
            C = Character + Row
            Portd = Lookup(c , Animation)
            Waitus 250
            Portd = 0
            Rotate Scan , Left
        Next Row
    Next Refresh
    Next Character
    Loop
    End 'end program

    Animation:

    'character '/'

    Data &B00000
    Data &B00001
    Data &B00010
    Data &B00100
    Data &B01000
    Data &B10000
    Data &B00000


    'character '-'

    Data &B00000
    Data &B00000
    Data &B00000
    Data &B11111
    Data &B00000
    Data &B00000
    Data &B00000


    'character '\'

    Data &B00000
    Data &B10000
    Data &B01000
    Data &B00100
    Data &B00010
    Data &B00001
    Data &B00000


    'character '|'

    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100
    Data &B00100

     

    در این بخش من فایل های برنامه انیمیشن در تابلو روان را قرار دادم. این فایلها با فرمت Zip فشرده سازی شده است.  این فایل ها عبارتند از :

    • فایل برنامه تابلو روان، که در نرم افزار BASCOM نوشته شده است. 
    • فایل هگز (Hex) برنامه تابلو روان جهت پروگرم کردن میکروکنترلر ATmega8.

    جهت دانلود اینجا کلیلک کنید.

    ارسال شده در مورخه : دوشنبه، 4 شهريور ماه ، 1387 توسط admin  چاپ مطلب

     
    نام: [ کاربر جدید ]

    موضوع:
     
    نظر:


    :) ;) |) :- :( :0 :# *) ^) +)) :} |(( @: (:) :? :**

    کد امنيتي : hil36pif
    تايپ کد امنيتي :


    [ بازگشت ]
    لینکهای مرتبط
    · مطالب بیشتر در مورد تابلوروان - تابلو روان
    · سایر مطالب نوشته شده توسط admin


    پربازدیدترین مطلب در زمینه تابلوروان - تابلو روان:
    برنامه نویسی اولین تابلوروان


    امتیاز دهی به مطلب
    امتیاز متوسط : 0
    تعداد آراء: 0

    لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

    عالی
    خیلی خوب
    خوب
    متوسط
    بد


    انتخاب ها

     گرفتن پرينت از اين مطلب گرفتن پرينت از اين مطلب



    صفحه اصلي |  جستجو |  دريافت فايل |  آرشيو اخبار |  تماس با ما

    هرگونه كپي برداري از مطالب سايت با درج منبع آزاد است




    Powered By PHP-Nuke & Farsi Project By [MashhadTeam] PHPNuke.ir

    www.mashhadteam.ir