NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 5194 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 20 از 22

موضوع: آرایه در بسکام

  1. #1
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض آرایه در بسکام

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

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Aug 2008
    نوشته ها
    212
    تشکر
    10
    تشکر شده 48 بار در 38 پست

    پیش فرض

    تو بیسکام قط آرایه یه بعدی داریم و این یکی از معایب بیسکام هستش

    بیشتر برای تابلو روان های حرفه ای از کدویزن و c استفاده میکنن ! اگه میخای حرفه ای کار کنی برو به سمت c

  4. #3
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    ممنون ولى من يه مقدار وقت کم دارم و بايد اين پروژه رو درست کنم. تا بخوام به c آدت کنم طول مى کشه.
    حالا بگذرىم تو جاروب سطرى وقتى مى خوان متن رو شيفت بدن چه جورى کد ها رو از روى فونت مربوط مى خونن ؟
    من با استفاده از 74hc595 و ارتباط سريال ابتدا کد فعال سازى سطر و پشت سر اون بايت هاى هر سطر رو فرستادم و تونستم يک عکس رو نمايش بدم. حالا براى شيفت دادن موندم چکار کنم لطفا کمک کنید.

  5. #4
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    در مد جاروب سطری شما باید با استفاده از دستوری مثل Rotate در بسکام مقدار پورتی رو که کنترل کننده ی سطرهاتون هست در جهت دلخواه حرکت بدین. اگه شماتیک مدارتون رو قرار بدید بهتر میشه نظر داد.

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

    حالا برای حرکت دادن باید به این نکته توجه کنید که مثلا اگه در ابتدا کد کنترل کننده ی سطرها 01111110 بود (یکها حالت روشن سطر فرض شوند) در حرکت به سمت راست شما باید کد سطرهارو به 00111111 تغییر بدید و از کدهای عکس مورد نظر هم یه سطر کم کنید که در دات ماتریس ظاهر نشه ، با این کار شما محتویات دات ماتریس رو حرکت دادید.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  6. #5
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    فکر کنم با این عکسها بهتر بتونم منظورمو منتقل کنم ، در هر عکس اعداد نوشته شده در کنار سطر ها در واقع کد فعال سازی سطرها هستن.





    همونطوریکه می بینید در این عکسها اعدادی که سطرهارو فعال می کنن جابجا شدن اما در عکس دوم با اینکه سطر آخر روشن هست ولی کدی وجود نداره که بخواد نشون داده بشه ، بعبارت دیگه همراه با جابجایی اعداد سطرها کدهای مربوط به عکس هم یک سطر کمتر میشن بنابراین سطر آخر هم خاموش می مونه.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  7. کاربران : 2 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  8. #6
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    خيلى متشکر از پاسختون
    مدار مورد نظر من به اىن صورته که ىک تابلوى ۴۸*۱۲ دارم و توسط ۸ تا 74hc595 که شىفت رجيستر هست مدار رو راه اندازى مى کنم. ۶ تا براى ستون ها و ۲ تاسطر ها. تمام اىن شىفت رجيستر ها بصورت سرى قرار دارن .حالا ابتدا دو باىت جاروب سطر ها و سپس ۶ باىت براى ستون ها رو با spi مىفرستم و بعد از اون هم ىک کلاک براى شيفت دادن اطلاعات به خروجى . يعنى کلا با سه تا پايه ميکرو)ديتا و شيفت کلاک و فعال ساز( تابلو رو کنترل مى کنم.
    من تا اىنجا تونستم ىک عکس رو تبديل به hex کنم و روى تابلو نشون بدم )تست هم کردم( حالا اگه بخوام اىن عکس رو ىک بىت ىک بىت شىفت بدم و پشت سرش ىه عکس دىگه بىاد چکار کنم؟
    همچنىن اگه بخوام فونت طراحى کنم و شىفت بدم چى؟
    منظورم اينه که چطور اطلاعات‌ يک بايت رو شىفت بدم طورى که اطلاعات باىت بعدى بياد داخل اين باىت؟ اصلا اىن روش رو توصیه مى کنيد؟

  9. تشکرها از این نوشته :


  10. #7
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    دوست من با توضیحاتی که شما دادید من فکر می کنم که توانایی های شما بیشتر از منه!

    پروژه ی بسیار بسیار جالبی دارید ، پیشنهاد می کنم که اگه تمایل دارید بذاریدش توی انجمن تا بقیه هم بتونن استفاده کنن.

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

    در رابطه با این آی.سی 74HC595 هم باید بگم که من طرز کار باهاشو بلد نیستم؟! توی پرتیوس تستش کردم چیز جالبیه ولی نمی تونم خوب باهاش کار کنم.

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

    برای کسب اطلاعات بیشتر و دقیقتر توصیه می کنم به سایت مهندس لاچینی سر بزنید.

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

    کد:
     '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    '                      In The Name Of GOD
    
    'Name                  :   Morteza Rahimi Kordmahalle
    'Topic                 :   Motion In Dot_Matrix (RightMotion)
    'Micro                 :   ATMega32
    
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Config Portc = Output
    Config Portd = Output
    
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Dim Column As Byte , Scan As Byte
    Dim Replace As Byte , A As Byte
    Dim Index As Byte , Refresh As Byte
    
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Do
    
    'This Command For,Result In Move "A" On The Dot_Matrix
    For Replace = 0 To 15
      A = 15 - Replace
    'This Command For,Show 10 Times "A" Codes ,Until Own Eyes Can See "A" On The Dot_Matrix
     For Refresh = 0 To 10
      Scan = &B10000000
    'This Command For, Put Only One Code From "A" On Portd (Data15),Since Show It In The Complete Scan
    'Since Put Only Two Code From "A" On Portd (First Data15 , Second Data14),And Show Them In The Complete Scan
    'This Process Continue Until All Of "A" Codes Put On The Portd
       For Column = 0 To 7
         Index = A + Column
         Portc = Scan
         Rotate Scan , Right                                    'Rotete Portc Evry 1.8ms
         Portd = Lookup(index , Glayof)
         Waitus 1800
       Next Column
    
     Next Refresh
    
    Next Replace
    
    Loop
    
    End                                                         'End Program
    
    Glayof:
    'Design Of "A" Character In Vertical Position
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
    
     Data &B11111111
     Data &B11100000
     Data &B11010111
     Data &B10110111
     Data &B10110111
     Data &B11010111
     Data &B11100000
     Data &B11111111
    
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
     Data &B11111111
    
      '                        470 Ohm
      'Portc.0 <----------------^^^^------------------------,
      'Portc.1 <----------------^^^^----------------------, '
      'Portc.2 <----------------^^^^--------------------, ' '
      'Portc.3 <----------------^^^^------------------, ' ' '
      'Portc.4 <----------------^^^^----------------, ' ' ' '
      'Portc.5 <----------------^^^^--------------, ' ' ' ' '
      'Portc.6 <----------------^^^^------------, ' ' ' ' ' '
      'Portc.7 <----------------^^^^----------, ' ' ' ' ' ' '
                                              ' ' ' ' ' ' ' '
      '                                       ^ ^ ^ ^ ^ ^ ^ ^
      '                                       # # # @ @ # # #
      '                                       # # @ # # @ # #
      '                                       # @ # # # # @ #
      '                                       # @ @ @ @ @ @ #
      '                                       # @ # # # # @ #
      '                                       # @ # # # # @ #
      '                                       # @ # # # # @ #
    
      'Portd.0 <------------------------------^ ^ ^ ^ ^ ^ ^ ^
      'Portd.1 <--------------------------------' ' ' ' ' ' '
      'Portd.2 <----------------------------------' ' ' ' ' '
      'Portd.3 <------------------------------------' ' ' ' '
      'Portd.4 <--------------------------------------' ' ' '
      'Portd.5 <----------------------------------------' ' '
      'Portd.6 <------------------------------------------' '
      'Portd.7 <--------------------------------------------'
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  11. کاربران : 2 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  12. #8
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    خیلی منون
    نه بابا من هنوز تازه کارم و این اطلاعات و هم از توی سایتای مختلف بدست آوردم.
    تو ان کدی که نوشتید فقط یک بایت رو شیف میده(rotate) ولی مشکل این جاست که من در هر سطر 6 بایت دارم و در spi هم یک بایت یک بایت میفرسته . کدی که نوشتم بصورت زیر هست:
    $regfile = "m16def.dat "
    $crystal = 12000000
    'Config Lcd = 16 * 2
    'Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 _
    ' , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.3
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
    Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1

    Config Portb.0 = Output
    'Config Portb.7 = Output


    Dim R As Byte , Ref As Byte
    Dim C As Byte , Cb As Byte
    Dim Dr As Word
    Dim Dc As Byte , Anim As Byte , T As Byte
    Dim Table As String * 3 , Font As Byte
    Dim Matn(500) As Eram Byte , Shift_r As Byte
    Cls
    Spiinit
    Anim = 0

    Do
    Select Case Anim
    Case 0
    For T = 0 To 100
    For R = 0 To 11
    Dr = Lookup(r , Jarob)
    Spiout Dr , 2
    For Cb = 0 To 4
    C = R * 5
    C = C + Cb
    Dc = Lookup(c ,rahman)
    Spiout Dc , 1
    Next Cb
    Set Portb.0
    Reset Portb.0

    Next R
    Next T
    End Select
    Loop
    End


    و بعدش هم جدول اطلاعات عکس هست که اسمم رو مینویسه.
    مدارش بزرگه و جا نمیشه (A3) عکس بگیرم
    portb.0 کلاک فعال کننده خروجی هست.
    حالا اگه بخوام شیفت بدم چکار کنم ؟
    من برای این عکس باید 72 بایت رو بفرستم

  13. #9
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    ببخشید من ارسال قبلى عجله داشتم خوب ننوشتم. تو توضیحات شما اىن طور گفتيد که مثلاْ براى شيفت يک متن یا عکس بايد کد چند فريم از اونو داشته باشيم و پشت سر هم نماىش بديم. ولى من ميخوام يک فونت طراحى کنم و فقط اطلاعات هر کاراکتر از اونو ذخیره کنم . بعد براي هر کلمه اى که بخوام بنويسم فقط بجاى هر حرف يک عدد مربوط به اونو ذخیره کنم و از روى اونا کلمه رو نمايش بدم. حالا اطلاعات اين کلمه رو چجورى روى صفحه شيفت بدم ؟
    مشکلى که هست اينه که اطلاعات سطر هارو هم بايد از همين مسير بفزستم و نميشه جداگانه شيفت داد.

    شاید بهتر باشه اسم اين پست رو به يه اسم مرتبط تغير بدم البته نميدونم چجورى اگه مديران سايت راهنمائی کنن يا اين کارو انجام بدن ممنون مىشم.

  14. #10
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    دوست عزیز من بیشتر از اینا چیزی نمی دونم و برنامه ی شما رو هم نگاه کردم یه چیزایی دستگیرم شده ولی خوب نفهمیدم!

    اگه نقشه ی شماتیک رو بذاری بهتر متوجه میشم ، ولی در کل فکر نکنم بتونم کمک زیادی بکنم! چون با روشی که شما استفاده کردی کاملا بیگانه هستم! اولین باره که می بینم.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  15. #11
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    خیلی ممنون تا اينجا هم خيلى کمک کرديد. ولى اگر دوستان ديگر هم که با اين روش کار کردن نظرشونو بنويسن تا استفاده کنيم خيلى بهتر ميشه.

  16. #12
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    خواهش می کنم. حق با شماست ، ولی نمی دونم چرا یه چند وقتیه که سایت خلوت شده!؟

    اکثر کاربرا فقط سوال می پرسن و به سوالات بقیه جواب نمیدن.

    منم در همین حد در توانم بود. ولی شما در صورت تمایل می تونید کل روژه رو zip کنید و اینجا قرار بدید تا دیگران هم بتونن استفاده کنن ، چون واقعا جالبه که با این تعداد کم از پایه های میکرو بشه یه تابلو روان ساخت.

    موفق باشید.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  17. #13
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    سلام یک روش پیدا کردم برای شیفت دادن
    اینطوری که هر بایتی رو که با دستور shift شیفت میدم بایت کناریشو برعکس به تعداد s-8 بار شیفت بدم و با هم or کنم بنابراین بایت اول رو شیفت دادم بطوری که بایت بغلیش بیاد تو این بایت .
    ولی هنوز تست نکردم.

  18. #14
    مدیر باز نشسته masoodhashemy آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    بوشهر - نام: علیرضا.غ
    نوشته ها
    328
    تشکر
    212
    تشکر شده 593 بار در 145 پست

    پیش فرض

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

  19. #15
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    منم برات آرزوی موفقیت دارم ، ایده جالبیه ، هرچند که من تمام و کمال نفهمیدمش!
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  20. #16
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    ممنون.
    احتنالاً تا پنجشنبه نتيجه رو ميزارم.
    ولى هنوز نفهمیدم تو تابلو هاى حرفه اى از چه روشى استفاده مىشه؟
    اگر از دوستان کسى اطلاعاتى داره حتى در حد اشاره خيلى کمک مى کنه. بالاخره در بين اين همه اساتید حرفه اى کسى هست از اين مورد اطلاع داشته باشه!!!

  21. #17
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    اینجاها مشخص میشه بسکام ضعیفه دیگه . خیلی شلوغ می شد .
    من که رفتم سراغ c دوباره برنام رو بنوسم .

  22. #18
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نوشته ها
    12
    تشکر
    0
    تشکر شده 12 بار در 6 پست

    پیش فرض

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

  23. #19
    کاربر فعال
    تاریخ عضویت
    Aug 2008
    نوشته ها
    212
    تشکر
    10
    تشکر شده 48 بار در 38 پست

    پیش فرض

    روش فریم چه جوریه ؟
    یه توضیحی می دین

  24. #20
    کاربر علاقه مند rbm آواتار ها
    تاریخ عضویت
    Jul 2009
    نوشته ها
    30
    تشکر
    18
    تشکر شده 16 بار در 10 پست

    پیش فرض

    نقل قول نوشته اصلی توسط siamakb نمایش پست ها
    سلام خسته نباشی.
    بهتره از روش فریم استفاده کنی چون ساخت فونت وقت گیره.
    سلام . درسته ولی میخوام بعداً بشه کیبرد وصل کرد و جملات رو تغییر داد.
    حالا من یک فریم هم درست کردم ولی نمیشه شیفت داد؟

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •