اطلاعیه

Collapse
No announcement yet.

سوال یک فرد مبتدی : چگونگی تشخیص کد ارسالی کنترل تلویزیون توسط میکرو

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

    سوال یک فرد مبتدی : چگونگی تشخیص کد ارسالی کنترل تلویزیون توسط میکرو

    سلام دوستان
    از شما عزیزان کسی میتونه به بنده کمک کنه که چجوری می تونم با استفاده از میکرو atmega 16 یا 32 و یک LCD و سنسور مادون قرمز بفهمم کدی که کنترل مثلا تلویزیون ارسال می کنه چی هستش؟
    کسی میتونه همچین برنامه ای بنویسه ؟
    اگه کمکم کنید ممنون میشم.
    :smile:
    ALIREZA.h

    #2
    پاسخ : سوال یک فرد مبتدی : چگونگی تشخیص کد ارسالی کنترل تلویزیون توسط میکرو

    البته دیکد کردن همه ریموتها که یکم پیچیده میشه ، اول شما باید بدونی چه پروتکلی رو میخوای دیکد کنی.
    من شخصا با پروتکل RC5 فقط کار کردم اگر با کامپایلر بسکام کار میکنید یه فرمان واسه دریافت پروتکل RC5 داره (GET RC5 ). که من در ادامه برنامه ای رو گذاشتم که خیلی ساده و البته با دقت فوقلاده بالا این کنترلها رو آشکار سازی کرده ه توضیحات کاملی به زبان اصلی در بین متن برنامه داده شده .من خودم این رو امتحان کردم و باید بگم این فرمان هم عدد فرمان رو مشخص میکنه و هم نوع دسگاهی رو که ریموت مربوط به اون هست که در اینجا کد دستگاه 0 هست یعنی دستگاه تلوزیون رنگی CRT .کد دستگاها حدودا 36 تا هست مثل ویدئو و دیسک پلیر و رسیور و .... اکثرا کنترل تلوزیون های پارس ،دوو ، سامسونگ ، ان ای سی از این پروتکل استفاده میکنه
    البته پروتکلهای دیگه ای برای ریموتهای مادون قرمز هست مثل SONY,TOSHIBA,MATSOSHITA,PHILIPS که برای آشکار سازیشون کافیه اطلاعات مربوط به اونا رو مثلا تو گوگل با اسم خودشون جستجو کنید اما فکر کنم دیکد کردن بقیشون با زبان بیسیک دیگه مقدور نباشه چون مثلا برای SONY باید از اینتراپتهای خارجی استفاده کنید و به ازای هر یک از 48 بیت سری اطلاعاتی که از ریموت به ازای فشردن فقط یک دکمه دریافت میشه حد اقل یک بار پیکر بندی وقفه های میکرو رو عوض کنید :eek:






    '-------------------------------------------------------------------
    ' RC5.BAS
    ' (c) 1999-2003 MCS Electronics
    ' based on Atmel AVR410 application note
    '-------------------------------------------------------------------
    'use byte library for smaller code
    $lib "mcsbyte.lbx"

    'This example shows how to decode RC5 remote control signals
    'with a SFH506-35 IR receiver.

    'Connect to input to PIND.2 for this example
    'The GETRC5 function uses TIMER0 and the TIMER0 interrupt.
    'The TIMER0 settings are restored however so only the interrupt can not
    'be used anymore for other tasks


    'tell the compiler which pin we want to use for the receiver input

    Config Rc5 = Pind.2

    'the interrupt routine is inserted automatic but we need to make it occur
    'so enable the interrupts
    Enable Interrupts

    'reserve space for variables
    Dim Address As Byte , Command As Byte
    Print "Waiting for RC5..."

    Do
    'now check if a key on the remote is pressed
    'Note that at startup all pins are set for INPUT
    'so we dont set the direction here
    'If the pins is used for other input just unremark the next line
    'Config Pind.2 = Input
    Getrc5(address , Command)

    'we check for the TV address and that is 0
    If Address = 0 Then
    'clear the toggle bit
    'the toggle bit toggles on each new received command
    'toggle bit is bit 7. Extended RC5 bit is in bit 6
    Command = Command And &B01111111
    Print Address ; " " ; Command
    End If
    Loop
    End


    البته در مورد مثالهای بیشتر میتونید به سایت بیسکام مراجعه کنید :
    http://mcselec.com/
    موفقیت یک فرایند است نه یک اتفاق...

    ******** استفاده از گزينه تشكر نشانه اهميت و احترام شما به پيگيري شخص نظر دهنده است ********

    دیدگاه

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