اطلاعیه

Collapse
No announcement yet.

دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)


    سلام دوستان عزیز.
    دیکودر IR NEC protocol را با AVR و محیط برنامه نویسی بسکام براتون می زارم تا بتونید برای پروژه های مختلفتون یک ریموت کنترل با استفاده از ریموت های موجود در خانه هاتون داشته باشید .
    ابتدا مختصری دررابطه با IR NEC Protocol براتون توضیح می دهم .
    یک ارسال IR را در قالب فرمت NEC دارای اطلاعات زیر می باشد :
    ·ابتدا یک پالس شروع در سطح منطقی صفر با طول حدودا 9 میلی ثانیه
    ·سپس یک پالس فاصله در منطق یک با طول حدود 4.5 میلی ثانیه
    ·8 بیت اول آدرس می باشد که برای هر وسیله گیرنده اختصاصی است با طول 13.5 میلی ثانیه
    ·8 بیت دوم معکوس آدرس است با طول 13.5 میلی ثانیه
    ·8 بیت سوم مربوط به دستور می باشد با طول 13.5 میلی ثانیه
    ·8 بیت چهارم نیز معکوس دستور می باشد با طول 13.5 میلی ثانیه
    ·مجموع زمان پالسها 67.5 میلی ثانیه است
    زمان بندی بیت ها
    ·منطق صفر یک پالس به طول 562.5 میکروثانیه و یک فاصله به طول 562.5 میکروثانیه است با زمان انتقال کل 1.125 میلی ثانیه
    ·منطق یک پالس به طول 562.5 میکروثانیه و یک فاصله به طول 1.687 میکروثانیه است با زمان انتقال کل 2.25 میلی ثانیه
    در شکل زیر زمان انتقال صفر و یک نشان داده شده است
    شکل زیر یک ارسال IR را در قالب فرمت NEC نشان می دهد که آدرس آن (10110001) و دستور آن (10001101) است .
    ·16 بیت آدرس می باشد که 8 بیت اول آدرس و 8 بیت دوم NOT آدرس می باشد که مجموعا 27 میلی ثانیه طول دارند
    ·16 بیت بعدی دستور می باشد که 8 بیت اول دستور و 8 بیت بعدی NOT دستور می باشد که مجموعا 27 میلی ثانیه طول دارند
    زمان بندی را در شکل زیر مشاهده می کنید
    توسعه پروتکل NEC
    پروتکل NEC بصورت گسترده ای مورد استفاده قرار گرفته است و از آنجایی که اگر آدرس 8 بیتی باشد حداکثر 256 وسیله مختلف قابل آدرس دهی هستند برای افزایش آدرس بجای استفاده از 8 بیت آدرس و 8بیت NOT آدرس ، از 8 بیت آدرس پایین و 8 بیت آدرس بالا استفاده شده است که تشکیل یک آدرس 16 بیتی می دهد و حد اکثر تا 65535 دستگاه مختلف را آدرس دهی می کند . که در شکل زیر مشاهده می کنید .
    کد تکرار
    اگر یک دکمه روی ریموت کنترل فشرده شود و رها نشود 40 میلی ثانیه پس از ارسال آدرس و دستوریک پالس 9 میلی ثانیه و 2.25 میلی ثانیه را با فاصله هر 108 میلی ثانیه یک بار ارسال می کند و معنی آن برای گیرنده این است که دستور دریافتی را تکرار کند .
    در شکل زیر یک بار دکمه ای از ریموت فشرده شده است .

    در شکل زیر دکمه ای از ریموت فشرده شده است و نگه داشته شده است .
    در شکل زیر زمان بندی را ملاحضه می کنید .
    کد بسکام را از لینک زیر دریافت کنید:
    http://s6.picofile.com/file/81903068...tocol.rar.html


    وقتي همه نيروهاي جسمي و ذهني متمرکز شوند توانايي فرد براي حل مشکلات به طور حيرت انگيزي چند برابر مي شود .
    نرمن وينسنت پيل

    #2
    پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

    سلام خروجی و نقشه این مدار را دارید شما؟

    دیدگاه


      #3
      پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

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

      دلیل: ادغام دو پست برای جلوگیری از اسپم

      اگه اساتید در این زمینه تجربه دارن ، لطفا یه راه حل برای مشکلی که الان عرض کردم تو اجرای این برنامه هست رو بفرمایید.

      دیدگاه


        #4
        پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

        سلام دوستان من میخوام خروجی عددها و ...روی دکمه های ریموت رو درسون سگمنت نمایش بدم سوالی که دارم اینه اولا در این برنامه کدهای استخراج شده در متغیر eerom1 و eerom2 گذاشته شده بر چه مبنایی ذخیره شدن و چطوری میشه متغیر هاشو به سگمنت دادممنون میشم راهنمایی بفرمایین

        دلیل: ادغام دو پست برای جلوگیری از اسپم

        سلام جناب behzadsen
        ببخشید میشه بگید چطوری از این برنامه تونستین خروجی بگیرین چون من هنوز توی متغیرها گیر کردم ممنون میشم کمکم کنید

        دیدگاه


          #5
          پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

          خب مث اینکه کسی نیست جواب بده پس بزار واسه دوستان که بالاخره راش انداختم و گلم بگم که اولا این برنامه شما عملی نبود چون هر سری که یک کلید کنترل رو فشار بدیم یه کد میده که با کد قبلی مغارت داره منظورم اینه که eerom1 و eerom2 که شما بعنوان command و address معرفی کردین هر سری یه مقدار مغیر ذخیره میکنه

          دیدگاه


            #6
            پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

            دیدگاه


              #7
              پاسخ : دیکودر IR NEC protocol (یک ریموت کنترل با استفاده از ریموت های موجود در خانه)

              سلام
              دوستانی که از سور آقای jimbo54 جواب نگرفتن فکر کنمم بخاطر نوع میکرو و کریستالشون بوده و دقت کنید اگه کریستال غیر ۸ مگا استفاده می کنید باید زمانبندی های تایمر رو متناسب با اون تغییر بدید . منم اول با کد مشکل داشتم تا این موضوع رو متوجه شدم بعد که اصلاحش کردم عالی کارکرد و اصلا خطا نداشت
              جدیدترین ویرایش توسط pooyafff; ۱۶:۴۹ ۱۳۹۹/۰۹/۰۳.

              دیدگاه

              لطفا صبر کنید...
              X