نمایش نتایج: از 1 به 10 از 10

موضوع: راه اندازی LED WS2811 فروشگاه

  1. #1
    کاربر عادی giga0101 آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    36
    تشکر
    76
    تشکر شده 5 بار در 5 پست

    راه اندازی LED WS2811 فروشگاه

    سلام دوستان.
    5 عدد از این led رو روی PCB بستم و حالا به کمک شما میخوام راه اندازیشون کنم.
    زبان برنامه نویسی هم بیسیکه. یکی از دوستان یک کتابخونه به زبان c قرار داده بودن و اگر فکر میکنید سی بهتره یک برنامه ساده قرار بدید و روش مانور بدیم
    ممنون.

  2. #2
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,099
    تشکر
    224
    تشکر شده 1,392 بار در 626 پست
    سلام
    آموزش استفاده از این ال ای دی ها در حال نگارش هستن و تا آخر هفته جاری کامل قرار داده میشن!
    به علت محدودیت های فرکانسی و برنامه نویسی بسکام هنوز کتابخانه ای برای این منظور نوشته نشده و فقط امکان استفاده از زبان سی مقدوره!
    برای این ال ای دی کتابخانه های متعددی توی اینترنت وجود داره که ما آموزش رو بر اساس دو کتابخانه که روان ترین و ساده ترین ساختار رو دارن پیش میگیریم!
    با آرزوی موفقیت
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

  3. کاربران زیر از این پست مفید LightIran تشکر نموده اند:

    giga0101 (09-02-2014)

  4. #3
    کاربر عادی giga0101 آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    36
    تشکر
    76
    تشکر شده 5 بار در 5 پست
    ممنون مهندس ما بی صبرانه منتظریم...

  5. کاربران زیر از این پست مفید giga0101 تشکر نموده اند:

    LightIran (09-02-2014)

  6. #4
    کاربر تازه وارد esfahannoor آواتار ها
    تاریخ عضویت
    Nov 2015
    نوشته ها
    8
    تشکر
    1
    تشکر شده 1 بار در 1 پست
    ینی اینقدتا این حد این ای سی پیچیدس که امکان راه ااندازیش با بیسکام وجود نداره؟

  7. #5
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,099
    تشکر
    224
    تشکر شده 1,392 بار در 626 پست
    پیچیده نیست ولی باید طی زمان بندی دقیق اطلاعات ارسال بشه و به تجربه دیده شده این کار فقط از عهده اسمبلی بر میاد و سایر زبان ها کم میارن!برای همین از حالت درون خطی زبان سی که ترکیب سی با اسمبلی هست بهره گرفته شده
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

  8. #6
    کاربر تازه وارد mehdi29665 آواتار ها
    تاریخ عضویت
    May 2016
    نوشته ها
    3
    تشکر
    1
    تشکر شده 0 بار در 0 پست

    جدید

    نقل قول نوشته اصلی توسط LightIran نمایش پست ها
    پیچیده نیست ولی باید طی زمان بندی دقیق اطلاعات ارسال بشه و به تجربه دیده شده این کار فقط از عهده اسمبلی بر میاد و سایر زبان ها کم میارن!برای همین از حالت درون خطی زبان سی که ترکیب سی با اسمبلی هست بهره گرفته شده
    سلام
    من این آی سی رو هم با مد فرکانس بالا و هم فرکانس پایینش در برنامه بسکام راه اندازی کردم خیلی خوب کار کرد . atmega 16 - xtall 16Mhz
    البته برایه بدست آوردن زمان هایه مورد نیاز در هنگام ارسال دیتا از اسکوپ یکی از دوستام استفاده کردم که خیلی عالی تونست بهم کمک کنه تا اندازه دقیق ارسال دیتا رو بتونم محاسبه کنم

  9. #7
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,099
    تشکر
    224
    تشکر شده 1,392 بار در 626 پست
    ممنون میشیم کد سورس یا حداقل روند کار رو بگین چون تو هیچ سایت حتی خارجی با هیچ زبان سطح بالایی نشده راه اندازی بشه مخصوصا در مد فرکانس بالا

  10. #8
    کاربر تازه وارد mehdi29665 آواتار ها
    تاریخ عضویت
    May 2016
    نوشته ها
    3
    تشکر
    1
    تشکر شده 0 بار در 0 پست
    در بسکام برایه ساختن تاخیر کمتر از یک میکرو یا حتی خود یک میکرو ثانیه برایه اینجور برنامه ها که با واحد نانو ثانیه کار میکنن باید از دستورات دیگه استفاده کرد
    مثلا در فرکانس 16 مگ هر دستور ست کردن پایه میکرو یک سیکل زمان میبره که همون 62 نانو ثانیه طول میکشه
    پس برایه ساخت تاخیر 250 نانو ثانیه ای باید چهار مرتبه پشت سر هم یک پایه میکرو رو ست کرد

  11. #9
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,099
    تشکر
    224
    تشکر شده 1,392 بار در 626 پست
    نقل قول نوشته اصلی توسط mehdi29665 نمایش پست ها
    در بسکام برایه ساختن تاخیر کمتر از یک میکرو یا حتی خود یک میکرو ثانیه برایه اینجور برنامه ها که با واحد نانو ثانیه کار میکنن باید از دستورات دیگه استفاده کرد
    مثلا در فرکانس 16 مگ هر دستور ست کردن پایه میکرو یک سیکل زمان میبره که همون 62 نانو ثانیه طول میکشه
    پس برایه ساخت تاخیر 250 نانو ثانیه ای باید چهار مرتبه پشت سر هم یک پایه میکرو رو ست کرد
    این روش سعی و خطا هست و باید با یه لاجیک آنالیزر و یا اسکوپ هر بار یه دستوری اضافه کنین تا خروجی مطابق زمان بندی بشه.البته فقط بحث ایجاد وقفه نیست.شما توی رویه برنامه باید شرط هم بذارین که خودش باعث تغییر معادله میشه.همین مسائل باعث شده که همه ی کسایی که بر پایه میکرو AVR برنامه نوشتن از اسمبلی استفاده کردن و از هیچ کدوم از زبانهای سطح بالا مثل سی و بیسیک استفاده نکردن.خروجی زبان های سطح بالا اصلا مشخص نیست چون فردی که کامپایلر رو تولید کرده هر بار ممکنه کد رو بهینه تر بکنه تا طول کمتری داشته باشه ولی اسمبلی رو کاملا تو خروجی ارسال میکنه و توی Optimize هم دستکاری نمیشه.شاید برنامه شما روی نسخه بسکام 2.1 درست کار کنه و روی بسکام نسخه 1.8 درست کار نکنه چون خروجی کد اصلا دست شما نیست و تابع تغییراتی هست که برنامه نویس های طراح کامپایلر توش ایجاد میکنن.بهینه کردن خروجی کدهای کامپایلر ها یه موضوع عادی هست.
    تو کامپایلرهای زبان سی سطوح مختلف بهینه سازی تعریف شده که با تغییر هر کدوم خروجی کد عوض میشه پس نباید ازش انتظار داشت همیشه زمان بندی مد نظر ما رو بده.
    البته قرار بود که یکی از دوستان با کدهای اسمبلی برای بسکام هم کتابخانه درست کنه تا با اسمبلی هم بشه به صورت حرفه ای و در هر فرکانس از این آی سی استفاده کرد.که البته هنوز به اتمام نرسیده و در صورت اتمام در انجمن قرار داده میشه

  12. #10
    کاربر تازه وارد mehdi29665 آواتار ها
    تاریخ عضویت
    May 2016
    نوشته ها
    3
    تشکر
    1
    تشکر شده 0 بار در 0 پست
    من با سکام و بیست تا بلوک rgb رو که داستم راهاندازی کردم
    رویه تک تک بلوکها میشد تغییرات اعمال کرد
    اول متغییر تشکیل میدیم بعدش مقداردهی و در آخر بصورت پشت سر هم مقدار ها رو ارسال میکنیم
    نمونه کد:
    do
    for i=1 to j تعداد بلوک
    gosub lbl0
    next
    waitms 500
    r=rnd(256)
    g=rnd(256)
    b=rnd(256)
    loop
    end

    lbl0:
    if r.7=0 then gosub lbl1 else gosub lbl2
    if r.6=0 then gosub lbl1 else gosub lbl2
    if r.5=0 then gosub lbl1 else gosub lbl2
    if r.4=0 then gosub lbl1 else gosub lbl2
    if r.3=0 then gosub lbl1 else gosub lbl2
    if r.2=0 then gosub lbl1 else gosub lbl2
    if r.1=0 then gosub lbl1 else gosub lbl2
    if r.0=0 then gosub lbl1 else gosub lbl2

    if g.7=0 then gosub lbl1 else gosub lbl2
    if g.6=0 then gosub lbl1 else gosub lbl2
    if g.5=0 then gosub lbl1 else gosub lbl2
    if g.4=0 then gosub lbl1 else gosub lbl2
    if g.3=0 then gosub lbl1 else gosub lbl2
    if g.2=0 then gosub lbl1 else gosub lbl2
    if g.1=0 then gosub lbl1 else gosub lbl2
    if g.0=0 then gosub lbl1 else gosub lbl2

    if b.7=0 then gosub lbl1 else gosub lbl2
    if b.6=0 then gosub lbl1 else gosub lbl2
    if b.5=0 then gosub lbl1 else gosub lbl2
    if b.4=0 then gosub lbl1 else gosub lbl2
    if b.3=0 then gosub lbl1 else gosub lbl2
    if b.2=0 then gosub lbl1 else gosub lbl2
    if b.1=0 then gosub lbl1 else gosub lbl2
    if b.0=0 then gosub lbl1 else gosub lbl2

    return


    lbl1:
    '******* 0 start low speed 500ns - 2us
    set led پایه خروجی اصلی میکرو
    set led2 پایه فرضی و غیر قابل استفاده فقط به منظور وقفه هایه چند نانو ثانیه ای
    set led2
    set led2
    reset led
    set led2
    set led2
    set led2
    set led2
    set led2
    set led2
    '******* 0 stop

    return

    lbl2:
    '******* 1 start low speed 1200ns -- 1300ns
    set led
    set led2
    set led2
    set led2
    set led2
    set led2
    set led2
    set led2
    set led2
    set led2
    reset led
    set led2
    '******* 1 stop

    return

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

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