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

  • جستجو



    مطالب تصادفی

    تابلوروان - تابلو روان
    [ تابلوروان - تابلو روان ]

    ·ایجاد حرکت در تابلو روان - حرکت به پایین
    ·ایجاد حرکت در تابلو روان - حرکت به بالا
    ·ایجاد حرکت در تابلو روان - حرکت به راست
    ·ایجاد حرکت در تابلو روان - حرکت به چپ
    ·انیمیشن در تابلو روان
    ·جاروب ستوني
    ·برنامه نویسی اولین تابلوروان
    ·بررسی اولین مدار عملی تابلو روان
    ·جدول گلایف

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

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

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


    SMS خبرنامه

    SMS

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


    تبليغات



    تابلوروان: جاروب ستوني
    تابلوروان - تابلو روان

    در برنامه قبلی ما از روش جاروب سطری در برنامه نویسی تابلو روان استفاده کردیم. حال من تصمیم به توضیح روش جاروب ستونی در تابلو روان را دارم. و از همان مدار قبلی برای تست این روش استفاده میکنیم و فقط برنامه میکروکنترلر تغییر میکند.

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

     

    جدول گلایف جهت جاروب ستونی در تابلو روان - طراح مهندس حسین لاچینی



    در تصویر فوق من نحوه طراحی جدول گلایف را برای جاروب ستونی در تابلو روان نشان داده‌ام، که باعث به نمایش در آمدن کاراکتر A در ماتریس LED تابلو روان خواهد شد. همانطور که مشاهده میکنید به ازای نقاط فعال ( نقاطی که LED در آنجا روشن خواهد بود )  من مقدار بیت متانظر با آنرا صفر در نظر گرفتم و بالعکس در نقاط غیر فعال بیت متناظر را صفر در نظر گرفته‌ام. از طرفی اگر به یاد داشته باشد در برنامه قبلی تعداد بایت های مورد نیاز جهت نمایش کاراکتر A، هفت بایت بود ولی در اینجا ما فقط با استفاده از پنج بایت توانستیم همین کار را انجام دهیم!!!

    اما برنامه این روش، من برنامه را مجددا به زبان بیسیک نوشتم و از نرم افزار BASCOM-AVR استفاده کردم.

    من در اینجا صرفا بخش هایی از برنامه را بررسی میکنم که با برنامه قبلی تفاوت کرده است.

     

    Dim Col As Byte
    Dim Scan As Byte

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

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

     

    Scan = &B00000001

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

     در ادامه برنامه به حلقه For-Next میرسیم. متغییر  Col در این حلقه با  صفر مقدار دهی اولیه میشود و اجرای دستورات حلقه تا رسیدن  این متغییر به عدد 4 تعریف شده. لذا تعداد دفعات اجرای دستورات درون حلقه 5 بار خواهد بود. در واقع ما در درون این حلقه یک بار کامل کل ستونهای ماتریس را که پنج عدد میباشد جاروب میکنیم.

     

        For Col = 0 To 4
            Portd = Scan
            Rotate Scan , Left
            Portb = Lookup(col , Gelayof)
            Waitus 20
            Portb = &B11111111
        Next Col

    در اولین دستور در حلقه For-Next  مقدار متغییر Scan در پورت D میکروکنترلر قرار میگیرد. تا ستون مورد نظر در ماتریس فعال شود. در دستور بعدی متغییر  Scan به اندازه یک بیت به سمت چپ شیفت چرخشی داده میشود. با این شیفت بیت 1 موجود در این متغییر به سمت چپ منتقل شده و جای آنرا یک بیت صفر پر میکند. بعنوان مثال در نخستین بار اجرای این دستور متغییر Scan از مقدار 00000001 به مقدار 00000010 تغییر میکند و در شیفت بعدی به 00000100 تا اینکه بعد از پنجمین شیفت بصورت 00010000 در می‌آید. که در پنجمین مرحله در واقع بیت پنجم، یک شده است که باعث فعال گشتن ستون پنجم ماتریس خواهد شد.

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

    Gelayof:
    Data &B10000011
    Data &B11110101
    Data &B11110110
    Data &B11110101
    Data &B10000011
    Data &B11111111
    Data &B11111111
    Data &B11111111
    Data &B11111111
    Data &B11111111

     

    حال اطلاعات این جدول مرحله به مرحله و ستون به ستون خوانده شده و در پورت B قرار میگیرد.این عمل توسط دستور Lookup در برنامه صورت میگیرد. در این دستور بایت مورد نظر ( اطلاعات ستون مورد نظر ) توسط متغییر Col تعیین میشود. بعد از قرار دادن اطلاعات مربوط هر ستون در پورت B به اندازه 20 میکرو ثانیه این اطلاعات در پورت نگاه داشته  میشود تا LED های موجود در آن ستون روشن بمانند و اثر آن در چشم بیننده باقی بماند. سپس تمامی پینهای پورت B یک میشود تا LED های این ستون خاموش شوند و اعمال فوق مجددا جهت ستون بعدی تکرار میگردد.

    بعد از هر بار جاروب کامل تمامی ستونها، کنترل برنامه از حلقه For-Next خارج شده و مجددا متغییر Scan مقدار دهی اولیه شده تا برای جاروب مجدد آماده گردد. بله به همین سادگی شما یک نمونه ساده از تابلو روان را با روش جاروب ستونی ساختید!

     متن کامل برنامه را بصورت یکجا در زیر آورده شده است.


    '*********************************************
    '* This Program Writing By : Hossein Lachini                    *
    '* This, Displyed "A" on the 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 Col As Byte
    Dim Scan As Byte


    Do
        Scan = &B00000001
        For Col = 0 To 4
            Portd = Scan
            Rotate Scan , Left
            Portb = Lookup(col , Gelayof)
            Waitus 20
            Portb = &B11111111
        Next Col
    Loop
    End 'end program

    Gelayof:
    Data &B10000011
    Data &B11110101
    Data &B11110110
    Data &B11110101
    Data &B10000011

    جهت دانلود فایل برنامه به همراه نقشه اینجا کلیک کنید.

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

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

    موضوع:
     
    نظر:


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

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


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


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


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


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

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


    انتخاب ها

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



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

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




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

    www.mashhadteam.ir