• IR، کنترل مادون قرمز، مسیر، نصب، poehzh. ماژول های کیت اصلی با کنترل مادون قرمز

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

    اصل انتقال IR اطلاعات

    تابش مادون قرمز یا حرارتی است تابش الکترومغناطیسی، که هر جسمی را که تا دمای معینی گرم شده است ساطع می کند. محدوده IR در نزدیک ترین ناحیه طیف به نور مرئی، در قسمت طول موج بلند آن قرار دارد و منطقه را از حدود 750 نانومتر تا 1000 میکرومتر اشغال می کند. تشعشعات مادون قرمز بیشتر تابش ساطع شده توسط لامپ های رشته ای را تشکیل می دهد، تقریباً نیمی از تابش خورشید. خواص نوری مواد در تابش مادون قرمز با خواص آنها در نور مرئی متفاوت است. به عنوان مثال، برخی از شیشه ها در برابر اشعه مادون قرمز مات هستند و پارافین، بر خلاف نور مرئی، نسبت به اشعه مادون قرمز شفاف است و برای ساخت عدسی های مادون قرمز استفاده می شود. برای ثبت آن از گیرنده های حرارتی و فوتوالکتریک و مواد مخصوص عکاسی استفاده می شود. منبع پرتوهای IR، علاوه بر اجسام گرم شده، معمولاً از تابشگرهای حالت جامد استفاده می شود - لیزرهای IR؛ فتودیودها، فروتیستورها یا بولومترها برای ثبت استفاده می شوند. برخی از ویژگی های اشعه مادون قرمز آن را برای استفاده در دستگاه های انتقال داده مناسب می کند:

    • ساطع کننده های حالت جامد مادون قرمز (IR LED) فشرده، تقریباً بدون اینرسی، مقرون به صرفه و ارزان هستند.
    • گیرنده های IR کوچک و همچنین ارزان هستند
    • پرتوهای IR به دلیل نامرئی بودن، توجه فرد را منحرف نمی کند
    • با وجود شیوع اشعه IR و سطح بالا"پس زمینه"، منابع کمی از نویز ضربه ای در منطقه IR وجود دارد
    • تابش IR کم توان بر سلامت انسان تأثیری ندارد
    • پرتوهای IR به خوبی از اکثر مواد (دیوارها، مبلمان) منعکس می شوند.
    • تشعشعات IR به دیوارها نفوذ نمی کند و در عملکرد سایر دستگاه های مشابه تداخلی ایجاد نمی کند

    همه اینها امکان استفاده موفقیت آمیز از روش IR برای انتقال اطلاعات را در بسیاری از دستگاه ها فراهم می کند. فرستنده ها و گیرنده های IR در الکترونیک مصرفی و صنعتی استفاده می شوند. فناوری رایانه، سیستم های امنیتی، سیستم های انتقال داده در فواصل طولانی از طریق فیبر نوری. اجازه دهید عملکرد سیستم های کنترل الکترونیکی مصرفی (ریموت) را با جزئیات بیشتری در نظر بگیریم.

    هنگامی که دکمه ای فشار داده می شود، کنترل از راه دور IR یک پیام رمزگذاری شده منتشر می کند و گیرنده نصب شده در دستگاه کنترل شده آن را دریافت کرده و اقدامات لازم را انجام می دهد. به منظور انتقال یک توالی منطقی، کنترل از راه دور یک بسته پالسی از پرتوهای IR تولید می کند، اطلاعاتی که در آن توسط مدت یا فاز پالس هایی که بسته را تشکیل می دهند، مدوله یا کدگذاری می شود. اولین دستگاه های کنترلی از دنباله هایی از پالس های کوتاه استفاده می کردند که هر کدام بخشی از آنها بود اطلاعات مفید. با این حال، در آینده، آنها شروع به استفاده از روش تعدیل یک فرکانس ثابت با یک دنباله منطقی کردند که در نتیجه آن پالس های منفرد به فضا منتشر نمی شوند، بلکه بسته هایی از پالس های فرکانس مشخصی منتشر می شوند. داده ها قبلاً با مدت زمان و موقعیت این انفجارهای فرکانس رمزگذاری شده ارسال می شوند. گیرنده IR چنین دنباله ای را دریافت می کند و برای به دست آوردن یک پاکت، دمدولاسیون را انجام می دهد. این روش انتقال و دریافت با ایمنی بالای نویز مشخص می شود، زیرا گیرنده که بر روی فرکانس فرستنده تنظیم شده است، دیگر به تداخل با فرکانس متفاوت پاسخ نمی دهد. امروزه معمولاً از یک ریزمدار ویژه برای دریافت سیگنال IR استفاده می شود که ترکیبی از آشکارساز نوری، تقویت کننده با فیلتر باند گذر تنظیم شده به فرکانس حامل خاص، تقویت کننده با AGC و آشکارساز برای به دست آوردن پوشش سیگنال است. علاوه بر فیلتر الکتریکی، چنین ریز مداری دارای یک فیلتر نوری تنظیم شده با فرکانس تابش IR دریافتی است که امکان استفاده از فرکانس تابش LED را که طیف انتشار آن دارای عرض کمی است، تا حداکثر میزان ممکن می سازد. . در نتیجه چنین راه حل های فنی، دریافت یک سیگنال مفید کم مصرف در برابر پس زمینه تابش IR از منابع دیگر امکان پذیر شد. لوازم خانگی، رادیاتورهای گرمایشی و غیره عملکرد دستگاه های مدرن کنترل IR کاملاً قابل اعتماد است و بسته به گزینه اجرا و سطح تداخل، برد از چندین متر تا 40 متر یا بیشتر متغیر است.

    فرستنده سیگنال IR

    فرستنده سیگنال IR، کنترل از راه دور IR، اغلب توسط باتری یا باتری تغذیه می شود. بنابراین مصرف آن باید تا حد امکان کم باشد. از سوی دیگر، سیگنال ساطع شده باید از قدرت قابل توجهی برای اطمینان برخوردار باشد دوربردانتقال. چنین مشکلاتی که از نظر هزینه انرژی مخالف هستند، با روش انتقال بسته های رمزگذاری شده پالس کوتاه با موفقیت حل می شوند. بین انتقال، کنترل از راه دور عملاً انرژی مصرف نمی کند. وظیفه کنترل از راه دور این است که دکمه های صفحه کلید را نظرسنجی کند، اطلاعات را رمزگذاری کند، فرکانس مرجع را تعدیل کند و یک سیگنال به امیتر صادر کند. برای ساخت کنسول ها، میکرو مدارهای تخصصی مختلفی تولید می شود، اما می توان از میکروکنترلرهای همه منظوره مدرن مانند AVR یا PIC نیز برای این اهداف استفاده کرد. نیاز اصلی برای چنین میکروکنترلرهایی در دسترس بودن حالت خواب بسیار کم انرژی و امکان احساس فشار دکمه در این حالت است.

    فرستنده سیگنال IR تحت اثر جریان تحریک، اشعه مادون قرمز ساطع می کند. جریان به امیتر معمولاً از قابلیت های میکروکنترلر فراتر می رود، بنابراین برای تولید جریان مورد نیاز، ساده ترین جریان روی یک ترانزیستور نصب می شود. برای کاهش تلفات، هنگام انتخاب ترانزیستور، باید به ضریب تقویت فعلی آن - β یا h21 توجه کنید. هر چه این ضریب بیشتر باشد، کارایی دستگاه بیشتر می شود. فرستنده های مدرن از ترانزیستورهای میدانی یا CMOS استفاده می کنند که کارایی آنها در فرکانس های مورد استفاده محدود کننده است.

    طرح فوق بدون اشکال نیست، به ویژه، هنگامی که سطح شارژ باتری کاهش می یابد، قدرت تابش کاهش می یابد، که منجر به کاهش برد خواهد شد. برای کاهش وابستگی به ولتاژ تغذیه، می توانید از ساده ترین تثبیت کننده جریان استفاده کنید.

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

    به منظور افزایش توان پالس فرستنده، و بر این اساس، دامنه آن، سیگنال فرکانس اصلی با پیچ و خم متفاوت است و دارای چرخه کاری 3 - 6 است. بنابراین، قدرت پالس با حفظ یا حتی کاهش توان متوسط ​​افزایش می یابد. . جریان ضربه ای LED بر اساس مقادیر پاسپورت آن انتخاب می شود و می تواند به یک یا چند آمپر برسد. جریان پالس در اکثر ریموت های IR از 100 میلی آمپر تجاوز نمی کند. در این حالت، از آنجایی که فرکانس مرجع نیز دارای چرخه کاری کم است و مدت زمان پیام کدگذاری شده از 20 تا 30 میلی‌ثانیه تجاوز نمی‌کند، جریان متوسط ​​هنگام فشار دادن دکمه از یک میلی آمپر تجاوز نمی‌کند. بالا بردن جریان ضربه ای LED با کاهش راندمان و کاهش طول عمر همراه است. LED های مادون قرمز مدرن دارای راندمان 100-200 میلی وات انرژی تابشی در جریان 50 میلی آمپر هستند. جریان متوسط ​​مجاز نباید از 10-20 میلی آمپر تجاوز کند. منبع تغذیه LED باید دارای یک فیلتر RC باشد که اثر نویز ضربه ای را بر منبع تغذیه میکروکنترلر کاهش می دهد. محدوده LED های مورد استفاده برای کنترل از راه دور IR در اکثر تجهیزات خانگی حداکثر در منطقه 940 نانومتر است.

    مدت زمان یک بسته واحد از فرکانس مرجع برای پذیرایی مطمئننه کمتر از 12-15 و نه بیشتر از 200 دوره. هنگام ارسال یک پیام رمزگذاری شده، فرستنده در ابتدا مقدمه ای را تشکیل می دهد که یک یا چند بسته از فرکانس مرجع است و به گیرنده اجازه می دهد سطوح بهره و پس زمینه مورد نیاز را تنظیم کند. داده ها در یک بسته کدگذاری شده به صورت صفر و یک منتقل می شوند که با مدت یا فاز (فاصله بین بسته های مجاور) تعیین می شوند. مدت زمان کل پیام کدگذاری شده اغلب از چند بیت تا چند ده بایت متغیر است. ترتیب توالی، علامت شروع و مقدار داده ها با فرمت پیام تعیین می شود.

    گیرنده سیگنال IR

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

    گیرنده تابش IR اغلب به شکل یک ماژول یکپارچه جداگانه ساخته می شود که در پشت پانل جلویی تجهیزات کنترل شده قرار دارد. پنل جلویی دارای یک پنجره شفاف برای اشعه IR است. به عنوان یک قاعده، چنین ریز مدار دارای سه خروجی است - قدرت، مشترک و خروجی سیگنال. سازندگان قطعات الکترونیکی گیرنده های سیگنال IR را در انواع و طرح های مختلف ارائه می دهند. با این حال، اصل کار آنها مشابه است. در داخل چنین ریز مداری دارای موارد زیر است:

    • ردیاب نوری - فتودیود
    • تقویت کننده یکپارچه که سیگنال مفید را در سطح پس زمینه استخراج می کند
    • محدود کننده ای که سیگنال را به سطح منطقی می رساند
    • فیلتر باند گذر که روی فرکانس فرستنده تنظیم شده است
    • دمدولاتور - آشکارساز که پوشش سیگنال مفید را استخراج می کند.

    محفظه چنین گیرنده ای از ماده ای ساخته شده است که به عنوان یک فیلتر اضافی عمل می کند که پرتوهای مادون قرمز با طول موج مشخص را منتقل می کند. گیرنده های یکپارچه مدرن دریافت سیگنال مفید را در سطح پس زمینه ای که چندین ده بار بیشتر از آن است امکان پذیر می کند و در عین حال انفجارهای فرکانسی را که فقط 4 تا 5 دوره دارند احساس می کنند.

    گیرنده تابش باید با فیلتر RC تغذیه شود تا حساسیت افزایش یابد. میکروکنترلر دامنه وسیعی از تداخل در خطوط برق ایجاد می کند که می تواند بر عملکرد گیرنده تأثیر بگذارد.

    فرمت های انتقال IR

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


    یک ماژول کنترل ربات از طریق کانال IR ساخته شد. این چیزی است که من می خواهم در مورد جزئیات بیشتر بنویسم. زیرا کاربردهای زیادی برای آن وجود دارد.

    در واقع، کنترل IR چیست - فکر می کنم نیازی به توضیح نیست. اکنون کنترل Wi-Fi، بلوتوث، ZigBee رایج تر است. اما اگر به یک دستگاه ساده نیاز دارید که بتوان آن را "روی زانو" با حداقل هزینه مونتاژ کرد، این مقاله برای شما مناسب است. =)


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

    1. آنچه مورد نیاز خواهد بود
    هنگام ساخت یک کنترل IR ساده، استاندارد ناگفته استفاده از گیرنده Vishay TSOPxxxx و یک دیود TSALxxxx به عنوان فرستنده است.

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

    2. شماتیک
    برای اینکه باغ ها را حصار نکنیم، از طرح گنجاندن TSOP از دیتاشیت آن استفاده خواهیم کرد:

    خروجی TSOP باید مستقیماً به ورودی (RX) USART MK متصل شود.

    با اتصال فرستنده، وضعیت کمی متفاوت است. از آنجایی که گیرنده فقط در یک فرکانس خاص کار می کند، باید همان فرکانس را روی امیتر تنظیم کنید. انجام این کار با برنامه نویسی تایمر کار سختی نیست. برای ATmega16 به این صورت خواهد بود:
    TCCR1A=0x40;
    TCCR1B=0x09;
    OCR1AH=0x00;
    OCR1AL=0x84;

    فرکانس مورد نظر را می توان از فرمول بیان کرد:

    OCRn - مقدار مورد نظر خواهد بود که باید به فرمت هگزادسیمال تبدیل شود و در رجیستر OCR1A نوشته شود (برای مورد MK ATmega16).

    اکنون TSOP سیگنال ما را دریافت خواهد کرد. اما برای اینکه بتوانیم از USART استفاده کنیم، باید سیگنال خود را مدوله کنیم. برای انجام این کار، دیود IR را طبق این طرح وصل می کنیم:

    3. مقداری کد
    فریمور را در CodeVision AVR نوشتم.

    کد فرستنده به این صورت خواهد بود:
    #عبارتند از
    #عبارتند از

    اصلی خالی (باطل)
    {
    PORTB=0x00;
    DDRB=0x02;

    DDRC=0x00;
    PORTC=0xFF;

    TCCR1A=0x40;
    TCCR1B=0x09;
    OCR1AH=0x00;
    OCR1AL=0x84; // در اینجا مقدار فرکانس شما را وارد می کنیم

    // پارامترهای ارتباطی: 8 داده، 1 توقف، بدون برابری
    // حالت USART: ناهمزمان
    // USART Baud Rate: 2400
    UCSRA=0x00;
    UCSRB=0x08;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=0xCF;

    در حالی که (1)
    {

    اگر (PINC.4 == 0x00) ( putchar("S");)/* B این موردوقتی دکمه ای را که روی PINC آویزان است فشار می دهید. MK علامت "S" را ارسال می کند. که از طریق IR به کنترلر دیگری منتقل می شود. */
    };
    }

    من کد گیرنده را نمی دهم، زیرا فضای زیادی را اشغال می کند، اما برای درک اصول کلی کد فرستنده، فکر می کنم کافی باشد.

    علاوه بر کنترل از راه دور (اگرچه این در حال حاضر طیف گسترده ای از برنامه ها را شامل می شود)، می توانید از این روش برای سنسورهای عبور از موانع / اشیا استفاده کنید، و اگر تعداد زیادی از این سنسورها دارید و آنها با فرکانس یکسان کار می کنند، می توانید بسته های مختلف را ارسال کنید تا یکدیگر را روشن نکنند.

    موفق باشید! من از هر سوال / انتقاد / پیشنهادی خوشحال خواهم شد؛)

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

    هنگام ایجاد یک سیستم اتوماسیون خانگیمعمولاً به سختی می توان تنها با دستگاه های اجرایی اصلی کنار آمد، به خصوص وقتی صحبت از کار در سناریوهای چند رسانه ای و کنترل آب و هوا می شود. ما در اینجا در مورد تلویزیون، پروژکتور، گیرنده، پخش کننده رسانه، تهویه مطبوع و سایر تجهیزات صحبت می کنیم. در عین حال، همیشه نمی توان از تجهیزات "صحیح" استفاده کرد که از رابط های مدیریت اختصاصی پشتیبانی می کند. اغلب این موضوع به ملاحظات مالی مربوط می شود.

    در برخی موارد می توانید روی حضور حساب کنید رابط سریال، که در صورت اجرای صحیح، به شما امکان می دهد به دلیل وجود مجموعه ای مستند از دستورات و پشتیبانی از بازخورد، به عنوان مثال، برای بررسی وضعیت دستگاه، به طور مؤثر تجهیزات را در سیستم ادغام کنید. به عنوان یک آداپتور در این مورد، می توانید از دستگاه های کش جهانی که اخیراً توضیح داده شده استفاده کنید، فراموش نکنید که هر مشتری به یک کانال کنترل جداگانه نیاز دارد.

    امیدی به اجرای کنترل بر روی شبکه IP در مدل‌های جدید وجود دارد، اما اکنون در شرایطی که شرح داده شد، اغلب باید با کنترل بر روی IR سروکار داشت. کنترل از راه دور مادون قرمز اکنون راه استانداردی برای تعامل با تجهیزات چندرسانه ای است. استفاده از آنها آسان و ارزان است، اما معایب خاصی نیز دارند.

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

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

    عیب روش اول عدم امکان دریافت دستوراتی است که در کنترل از راه دور موجود نیستند. اغلب، این مشکل در نصب های چند رسانه ای رخ می دهد، زمانی که لازم است اطمینان حاصل شود که گیرنده یا تلویزیون به یک ورودی خاص برای سوئیچینگ و نمایش سیگنال مورد نظر سوئیچ شده است. با توجه به گستره وسیع ورودی‌ها، امروزه بسیاری از دستگاه‌ها تنها یک یا دو دکمه برای انتخاب آن‌ها با نیروی بی رحم دارند. در عین حال، اطمینان از یک "ضربه" تضمینی به ورودی مورد نظر تحت هیچ شرایط اولیه غیرممکن است. این مشکل قابل حل است راه های مختلف، مانند به خاطر سپردن ورودی یا نصب سوئیچ های اضافی با کنترل "صحیح"، اما این ناخوشایند یا گران است. نکته مشابهی در مورد مدیریت برق صدق می کند، جایی که تقریباً همیشه فقط یک عملکرد "تغذیه سوئیچ" وجود دارد و نه دکمه های فردیروشن و خاموش. تفاوت دیگر در سناریوی توصیف شده خطای اندازه گیری است، زیرا فرکانس مدولاسیون ثابت نیست و گیرنده سعی می کند آن را از سیگنال ورودی تعیین کند، بنابراین حتی یک فرمان چندین بار ضبط شده می تواند کدهای مختلفی داشته باشد.

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

    درست است که وجود چنین پایگاه های اطلاعاتی اطلاعات غنی را برای تجزیه و تحلیل تغییرات احتمالی دستورات موجود توسط سازنده فراهم می کند. در اینجا به وجود گزینه های مختلف برای ضبط دستورات IR و ابزارهای تخصصی برای تبدیل فرمت ها نیز اشاره می کنیم. گزینه ایده آلدر این مورد، ارزش آن را دارد که شرح دستورات را در قالب باینری اصلی و نه به صورت "دیجیتال سازی" در نظر بگیرید. متأسفانه بسیار نادر است.

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

    شایان ذکر است که، البته، هیچ کس در دسترس بودن عملکردهای شرح داده شده در بالا را که فراتر از محدوده کنترل از راه دور IR استاندارد است، تضمین نمی کند. با این حال، سطح فعلی وحدت در ساخت لوازم برقیبه پشتیبانی از دستوراتی که در کنسول ارائه نشده اند امیدوار است.

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

    کش جهانی iTach Flex

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

    دستگاه برای گزینه های وای فای، که ما تست کردیم، دارای یک کیس با ابعاد فقط 31x65x13 میلی متر (بدون در نظر گرفتن کانکتورهای کابل) است که به شما امکان می دهد آن را در هر مکانی نصب کنید. تغییرات با RJ-45 به دلیل کانکتور کمی بزرگتر خواهد بود.

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

    روی بدن آنجا نشانگر LEDوضعیت، دکمه ای برای اتصال به یک شبکه بی سیم از طریق WPS و تنظیم مجدد تنظیمات، و همچنین یک پنجره گیرنده IR برای یادگیری. یکی از انتهای آن دارای ورودی برق (microUSB استاندارد) و مینی جک چند منظوره 3.5 میلی متری برای اتصال کابل های Flex Link است.

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

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

    برای کنترل، می توانید هم از نسخه آشنای iTach TCP با ارسال دستورات به یک پورت خاص و هم از HTTP API جدید استفاده کنید. پارامترهای عملیاتی اصلی از طریق وب سرور داخلی تنظیم می شوند.

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

    تلویزیون LG سری LM66x 2012

    این مدل مجهز به تعداد زیادی ورودی ویدئو، پشتیبانی از سه بعدی و اتصال شبکه، دارای پورت های USB. در کنترل پنل استاندارد یک دکمه برای روشن / خاموش کردن و یک دکمه برای باز کردن منو برای سوئیچ کردن منابع وجود دارد. در مورد دوم، تأیید عملیات مورد نیاز خواهد بود و در صورت وجود اتصال شبکه، سرورهای رسانه نیز در لیست حضور خواهند داشت، که نصب کورکورانه در یک ورودی داده شده را غیرممکن می کند.

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

    برای شروع، ما از حسگر تعبیه شده در iTach Flex برای ضبط کدهای کنترل از راه دور استاندارد استفاده می کنیم. ما اکنون به همه دکمه ها نیاز نداریم، کافی است فقط در مورد دکمه های اصلی تصمیم بگیریم. پس از راه اندازی برنامه iLearn و اتصال به آداپتور، باید ریموت را به گیرنده بیاورید و دکمه ها را فشار دهید.

    اکنون می توانید نتایج را تجزیه و تحلیل کنید. همانطور که می بینیم، هر دستور، اگر قسمت "sendir, 1: 1, 1, 37914, 1, 1" لازم برای خود آداپتور را در نظر نگیریم، دارای پیشوند "341,170" و به دنبال آن سی و یک است. دو جفت عدد و فرمان را با پسوند " 22.1520.341.85.22.3700" می بندد. در این صورت، ما فقط به این جفت اعداد علاقه مند خواهیم شد. آنها دستور را به صورت باینری کد می کنند، جایی که "22.21" مخفف "0" و "22.63" مخفف "1" با کمترین بیت در ابتدا است. توجه داشته باشید که به دلیل ویژگی های دیجیتالی کردن، برخی از اعداد ممکن است کمی متفاوت باشند، به عنوان مثال، "20" به جای "21" یا "65" به جای "63". اما این جوهر را تغییر نمی دهد و راحت تر است که بلافاصله با جستجو و جایگزینی همه چیز را به همان شکل برسانید.

    رمزگشایی دستور چهار بایت به ما می دهد. یک نوع مشابه، که معمولاً "پروتکل NEC" نامیده می شود، اغلب استفاده می شود و ترکیبی از دو بایت آدرس، یک بایت دستور و تکرار آن به شکل معکوس است ("0" با "1" جایگزین می شود و بالعکس).

    به طور خاص، برای مثال ما، دریافت می کنیم: 04 FB 44 BB، 04 FB 02 FD، 04 FB 03 FC. جالب اینجاست که در اینجا بایت دوم آدرس معکوس بایت اول است. سپس دو گزینه وجود دارد: دانستن آدرس، رشته هایی را برای هر یک از مقادیر دستوری ممکن بنویسید و آنها را در دستگاه بررسی کنید - یا به دنبال دستورات آماده در شبکه بگردید. رویکرد دوم ما را به سایت هدایت می‌کند، جایی که می‌توانیم سند سازنده را با شرح دقیق دستورات کنترل تلویزیون‌های سریال‌های مشابه در سال انتشار پیدا کنیم. مقایسه جدول موجود در آن با رکوردهای ما تطابق کاملی را برای دستورات ضبط شده نشان می دهد. اکنون باید کدهای عملیات مورد نیاز خود را پیدا کرده و آنها را به دستورات iTach Flex دوباره کدگذاری کنیم. به عنوان مثال، از 04 FB C4 3B و 04 FB C5 3A به ترتیب دریافت می کنیم
    "sendir,1:1,1,38004,1,1,341,171,22,21,22,21,22,65,22,21,22,21,22,21,22, 21,22,21,22,65 ,22,65,22,21,22,65,22,65,22,65,22,65,22,65,22,21,22,21,22, 65,22,21,22,21,22 ,21,22,65,22,65,22,65,22,65,22,21,22,65,22,65,22,65,22, 21,22,21,22,1523,341,86 .22.3800"
    و
    "sendir,1:1,1,38004,1,1,341,171,22,21,22,21,22,65,22,21,22,21,22,21,22, 21,22,21,22,65 ,22,65,22,21,22,65,22,65,22,65,22,65,22,65,22,65,22,21,22, 65,22,21,22,21,22 ,21,22,65,22,65,22,21,22,65,22,21,22,65,22,65,22,65,22, 21,22,21,22,1523,341,86 .22.3800".

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

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

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

    کیت سینمای خانگی Onkyo HTX-22HD

    این کار بدیهی است دشوارتر خواهد بود - این مدل بسیار قدیمی است و بسیار محبوب نیست، به خصوص در نصب های "جدی". با این حال، امروزه با وظیفه خود به عنوان یک گیرنده چند کاناله برای پخش کننده رسانه مقابله می کند. مانند تلویزیونی که در بالا توضیح داده شد، چندین کار در اینجا وجود دارد - دستورات جداگانه برای روشن و خاموش کردن برق، انتخاب یک ورودی خاص و تنظیم صدا. با آخرین مشکلاتنه - فقط می توانید کدهای این دکمه ها را کپی کنید. اما برای مدیریت برق از یک دکمه ریموت کنترل و برای انتخاب ورودی از دو دکمه برای رفتن به ورودی بعدی و قبلی استفاده می شود. عملکردهای انتخاب حالت پردازش صوتی چند کانالی نیز ممکن است مورد توجه بالقوه باشد.

    ابتدا، ارزش آن را دارد که وضعیت با ورودی ها روشن شود. در این دستگاه، و همچنین در بسیاری دیگر از این کلاس، ورودی فیزیکی در تنظیمات گیرنده مطابق با تجهیزات متصل تنظیم شده است. وضعیت کارخانهبه شرح زیر است:

    ورودتابع
    ورودی دیجیتال کواکسیالسی دی
    HDMI 1VCR/DVR
    HDMI2CBL/SAT
    خط 1نوار
    خط 2تیونر
    دیجیتال نوری در 1دی وی دی
    دیجیتال نوری در 2بازی/تلویزیون

    اکنون، مانند تلویزیون، برخی یا تمام دستورات کنترل از راه دور موجود را از طریق گیرنده در iTach Flex ضبط می کنیم. در اینجا ما همچنین شروع مشخصه را در خطوط می بینیم - "sendir,1:1,1,38095,1,1" به عنوان پارامترهای ارسال بسته و "341,171" به عنوان پیشوند. سپس سی و دو جفت اعداد پروتکل NEC آشنا می آیند، اما پسوندها متفاوت هستند. درک اینکه چقدر این مهم است دشوار است، اما در هر صورت، آنها را در کاربرگ یادداشت می کنیم.

    در مورد Onkyo دو بایت آدرس و یک بایت دستور داریم که به صورت معکوس به عنوان بایت چهارم بسته تکرار می شود. آدرس احتمالاً به نوعی به پسوند مربوط می شود و در کل روی دکمه های اصلی کنترل از راه دور توانستیم سه آدرس - D2 06 ، D2 07 و D2 08 را بشماریم.

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

    تجزیه و تحلیل داده ها نشان داد که اگر فقط دستورات را با هم مقایسه کنیم و آدرس را در نظر نگیریم، می توانیم شباهت هایی پیدا کنیم. برای مثال از دستور 02 برای افزایش صدا، 03 برای کاهش صدا و 05 برای خاموش کردن صدا استفاده می شود، در جدول با همان آدرس های کنترل صدا، یک فرمان روشن (روشن) وجود داشت ( 04). تغییر رشته دیجیتالی شده با آدرس D2 06 به این دستور (فقط چند عدد باید اصلاح شود) نشان داد که ما در مسیر درستی هستیم - گیرنده روشن است و هنگام ارسال مجدد وضعیت خود را تغییر نداده است. . دستور خاموش کردن در سند آدرس دیگری داشت. بنابراین ما دستور 47 را در خط فرمان جایگزین کردیم که دارای آدرس D2 07 و پسوند دیگری است. این هم کار کرد.

    بنابراین، قبل از یافتن دستورات انتقال به ورودی مورد نظر، مقدار بسیار کمی باقی مانده بود. با این حال، یک بار دیگر با بررسی دقیق سند یافت شده، جدولی در یکی از برگه‌ها پیدا شد که نشان می‌دهد گیرنده و کنسول ممکن است لیست‌های آدرس جایگزین قابل تعویض از مجموعه‌های خاصی داشته باشند. ظاهراً این کار برای این بود که بتوان دستگاه‌هایی از یک نوع را در یک اتاق کنترل کرد. بنابراین پس از جایگزینی آدرس‌های خود با D2 6D، D2 6C، D2 AC، توانستیم مطابقت با داده‌های دیجیتالی را بررسی کرده و تمام دستورات لازم را برای تغییر به ورودی مورد نظر پیدا کنیم. پس از آن با در نظر گرفتن پسوندهای مختلف، جدولی از دستورات این دستگاه تدوین شد. می توانید آن را از لینک دانلود کنید. توجه داشته باشید که نام های منطقی ورودی های موجود در آن بر اساس تنظیمات کارخانه با نام های فیزیکی جایگزین شده است.

    پخش کننده رسانه Dune HD

    با در نظر گرفتن این واقعیت که این سری از پخش کننده ها از کنترل شبکه پشتیبانی می کنند (وب سایت سازنده اطلاعاتی در مورد API ارائه می دهد)، در این مورد، کنترل از راه دور IR ممکن است فقط به عملکردهای روشن/خاموش جداگانه نیاز داشته باشد. در اینجا سازنده با انتشار سند مربوطه از قسمت پشتیبانی و افزودن دستورات روشن و خاموش لازم به ترتیب با کدهای 00 BF 5F A0 و 00 BF 5F A1 هدیه ای را ارائه کرد. توجه داشته باشید که عملکرد فرمان دوم بستگی به تنظیم حالت خاموش کردن پخش کننده دارد. دستگاه می تواند به حالت خواب (در حالی که عملکردهای شبکه را حفظ می کند) برود یا به طور کامل خاموش شود (تا زمانی که دستور IR برای روشن کردن آن داده شود).

    پس از دیجیتالی کردن چندین دکمه از راه دور در iTach Flex، می‌توانیم "محیط" مورد نیاز برای کدهای خود را دریافت کنیم - پیشوند "sendir,1: 1,1,38186,1,1,342,170" و پسوند "22,1547,342,85" ,22,3800 ". نتیجه پس از افزودن دستورات مستقیم را می توان در یک فایل متنی جداگانه مشاهده کرد.

    استفاده از دستورات در iRiduim

    پس از یافتن کدهای مورد نیاز، سعی می کنیم از آنها در یک پروژه اتوماسیون استفاده کنیم. در مثال اول، محصول iRidium را گرفتیم. علیرغم اینکه دارای یک پایه کد جهانی کش داخلی است، به دلایلی که در بالا توضیح داده شد، توصیه می شود دقیقاً از کدهای جدید یافت شده و تأیید شده استفاده کنید.

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

    پس از طراحی پروژه با دکمه ها و عناصر دیگر، می توانید اقدامات برنامه نویسی را شروع کنید. ساده ترین راه برای انجام این کار این است که دستور را از درخت دستگاه پروژه روی دکمه ها بکشید. برای اجرای عملکردهای تنظیم مداوم (به عنوان مثال، حجم)، شما باید نه تنها از عملکرد "Press" بلکه از عملکرد "Hold" استفاده کنید. توجه داشته باشید که برای کنترل IR پیاده سازی شود نصب سریعلغزنده سطح صدا کار نخواهد کرد، زیرا هیچ بازخوردی از دستگاه کنترل شده در سیستم وجود ندارد و همچنین امکان تعیین سطح مورد نظر به عنوان یک پارامتر وجود دارد. اما برای RS-232، سناریوی مشابهی را می توان در برخی موارد پیاده سازی کرد.

    در این پروژه، ما از ساده ترین نسخه کنترل از راه دور استفاده کردیم - هر دکمه مربوط به فرمان خود است. اما سیستم iRidium به شما امکان می دهد سناریوهای پیچیده تری را پیاده سازی کنید، به عنوان مثال، می توانید یک دکمه را برای روشن کردن سناریوی "تماشا فیلم" اختصاص دهید که شامل کنترل نور مناسب، روشن کردن همه دستگاه های شرکت کننده در سناریو (و خاموش کردن) است. مداخله کننده)، تعویض ضروری ورودی ها و خروجی ها، باز کردن پنجره پاپ آپ کنترل پخش کننده رسانه.

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

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

    نتیجه

    استفاده از کانال IR برای کنترل تجهیزات صوتی / تصویری و سایر تجهیزات ممکن است تنها راه خودکارسازی کار با آن باشد، به خصوص در بخش کم هزینه. علیرغم معایب آشکار این روش، که اصلی ترین آن در این مورد کمبود بازخورد است، این روش کاملاً کارآمد است و به شما امکان می دهد سناریوهای کاملاً انعطاف پذیری را پیاده سازی کنید. در مجموع در پیاده سازی گزینه های شرح داده شده به غیر از یافتن کدهای مورد نیاز با مشکلی مواجه نشدیم.

    فرآیند یافتن و تدوین دستورات مورد نیاز می تواند به یک فرآیند تحقیقاتی گیج کننده تبدیل شود. کمک قابل توجهی در اینجا توسط منابع اینترنتی ارائه می شود که اطلاعات مربوط به کدهای IR استفاده شده را جمع آوری می کند. تجزیه و تحلیل داده های ارائه شده و جستجوی قیاس ها اغلب با هزینه نسبتا کم، یافتن تیم های لازم برای اجرای پروژه را ممکن می سازد.

    به عنوان یک آداپتور کنترل، می توانید هم از دستگاه های آماده Global Cache ذکر شده در مواد و هم از سایر مدل های مشابه استفاده کنید، به عنوان مثال، به طور مستقل بر اساس میکروکنترلرها مونتاژ شده اند، پروژه هایی که به طور گسترده در اینترنت ارائه می شوند. در مورد ادغام در سیستم کنترل، راحت ترین گزینه کار از طریق یک شبکه کامپیوتری است، اما در برخی شرایط کافی است و اتصالات محلیاز طریق USB یا پورت سریال. گزینه شبکه، به ویژه، جالب است زیرا می توان آن را با نرم افزارهای مختلف، به عنوان مثال، به عنوان بخشی از راه حل های فیبارو و از طریق اینترنت استفاده کرد.

    آی سی کنترل کننده موتور برس خورده، کنترل از راه دور IR، ماژول رادیویی NRF24L01، ماژول کارت SD OKI 120A2، آی سی کنترل کننده موتور برس خورده، مودم GSM GPRS M590E، ساعت واقعی DS 3231/DS 1307، فاصله Mini 360، سنسورهای 360، سنسورهای LM293D، LM295 ساعت واقعی، HC-SR501، منبع تغذیه Mini 360 در طرح LM2596، کنترلر L298N، HC-SR501، GSM GPRS، مودم M590E GSM GPRS، ساعت واقعی DS 3231/DS 1307، ماژول وای فای ESP8266-12E، ماژول کارت، منبع تغذیه، Mini 360، L293D، منبع تغذیه Mini 360 در نمودار LM2596، ماژول رادیویی، کنترل از راه دور IR، سپر اترنت، آی سی کنترل کننده موتور برس خورده، آی سی کنترل کننده موتور برس، کنترل از راه دور مادون قرمز، مدول SD Card ، ماژول رادیویی NRF24L01، موتور OKI، L293D، موتور پله ای، منبع تغذیه، L293D، منبع تغذیه Mini 360 در LM2596، کارت حافظه SD، محافظ اترنت، سنسور حرکت HC-SR501، ماژول Wi-Fi ESP8266-12E، موتور پله ای OKI20 12 موتور پله ای،

    تبادل اطلاعات در مادون قرمز

    برای اطمینان از دریافت مطمئن و محافظت تضمین شده در برابر تداخل، مدولاسیون سیگنال و کدگذاری استفاده می شود. انتقال داده ها در طیف مادون قرمز نزدیک به مرئی انجام می شود. طول موج در اکثر سیستم های پیاده سازی شده بین 800-950 نانومتر متغیر است. ساده ترین راه برای خلاص شدن از شر صدای زمینه- هنگام ارسال یکی از فرکانس های استاندارد: 30، 33، 36، 37، 38، 40، 56 کیلوهرتز، سیگنال را مدوله کنید (پر کنید). تمام گیرنده های مجتمع مدرن روی این فرکانس ها تنظیم می شوند.

    برای اطمینان از برد کافی هنگام ارسال یک دنباله کد، لازم است یک سیگنال قدرتمند تولید شود. جریان از طریق LED IR می تواند به 1 A برسد - چنین جریان هایی در حالت پالس کاملاً قابل قبول هستند ، در حالی که میانگین اتلاف توان نباید از حداکثر مجاز مشخص شده در اسناد تجاوز کند.

    توسعه یافته تعداد زیادی از میکرو مدارهای تخصصی(SAA3010، GS8489، KS51840، و غیره) که یک دنباله کد آماده تولید می کنند و حداقل جریان را در حالت آماده به کار مصرف می کنند، که هنگام تغذیه با باتری مهم است. این ریز مدارها طرح کنترل از راه دور (RC) را بسیار ساده می کند. هنگامی که دکمه روی کنترل از راه دور را فشار می دهیم، تراشه فرستنده فعال می شود و یک دنباله کد با یک پر کردن مشخص ایجاد می کند. LED ها این سیگنال ها را به تشعشعات مادون قرمز تبدیل می کنند. سیگنال ساطع شده توسط یک فتودیود دریافت می شود که دوباره تابش IR را به تکانه های الکتریکی تبدیل می کند. این پالس ها توسط تراشه گیرنده تقویت و دمودوله می شوند. سپس به رسیور داده می شوند. رمزگشایی معمولاً در نرم افزار توسط میکروکنترلر انجام می شود.

    گیرنده کنترل از راه دور IR باید داده ها را با رمزگذاری دو فاز بازیابی کند و به بزرگ پاسخ دهد تغییر سریعسطح سیگنال بدون توجه به تداخل عرض پالس در خروجی گیرنده نباید بیش از 10٪ با اسمی متفاوت باشد. گیرنده همچنین باید در برابر نور ثابت محیط مصون باشد. برآورده کردن همه این نیازها آسان نیست. پیاده سازی های قدیمی گیرنده کنترل از راه دور IR، حتی با استفاده از ریزمدارهای تخصصی، شامل ده ها قطعه بود. چنین گیرنده هایی اغلب از مدارهای تشدید تنظیم شده با فرکانس پر استفاده می کنند. همه اینها ساخت و تنظیم طرح را دشوار می کرد و نیاز به استفاده از محافظ خوبی داشت.

    که در اخیراگیرنده های کنترل از راه دور IR یکپارچه سه خروجی (SFH5110-xx، TSOP17xx، TFMS5xx0، و غیره) گسترده شده اند. در یک بسته، آنها یک فتودیود، یک پیش تقویت کننده و یک شکل دهنده را ترکیب می کنند. در خروجی، یک سیگنال TTL معمولی بدون پر کردن تشکیل می شود که برای پردازش بیشتر توسط میکروکنترلر مناسب است. اکثر پارامتر مهمهنگام انتخاب گیرنده - فرکانس پر کردن.

    تقویت کننده داخلی گیرنده یکپارچه بهره بالایی دارد، بنابراین برای از بین بردن خود تحریکی و از بین بردن اثر تداخل در مدارهای قدرت، لازم است از یک خازن الکترولیتی با ظرفیت حداقل 4.7 μF که به صورت نزدیک متصل است استفاده شود. تا حد امکان به پین ​​VCC.

    اتصال گیرنده IR

    به عنوان یک گیرنده کنترل از راه دور IR، ما از تراشه TSOP31236 استفاده می کنیم. در یک محفظه، یک فتودیود، یک پیش تقویت کننده و یک شکل دهنده را ترکیب می کند. در خروجی، یک سیگنال TTL معمولی بدون پر کردن تشکیل می شود که برای پردازش بیشتر توسط میکروکنترلر مناسب است. فرکانس حامل 36 کیلوهرتز است، خروجی معکوس است، یعنی در صورت عدم وجود سیگنال، یک "1" منطقی به پین ​​می آید، زمانی که یک سیگنال ظاهر می شود، یک "0" منطقی ارسال می کند.

    کتابخانه IRRemote

    می توانید پروتکل ریموت کنترل خود را پیدا کرده و طرحی برای دریافت کدهای ارسال شده از ریموت بنویسید. خوشبختانه، قبلاً یک کتابخانه جهانی برای دریافت و پردازش کدها از هر کنترل از راه دور - IRremote - نوشته شده است.

    می توانید فایل های کتابخانه را در پوشه libraries/IrRemote آرشیو الکترونیکی همراه کتاب بیابید. برای استفاده از کتابخانه ها در پروژه های خود، آنها را در پوشه کتابخانه های دایرکتوری نصب آردوینو قرار دهید. طرح دریافت کد و ارسال آن به پورت سریال در مثال ارائه شده است.

    #عبارتند از

    int RECV_PIN = 11;

    IRrecv irecv(RECV_PIN); decode_results;

    void setup()

    Serial.begin(9600);

    irecv.enableIRIn(); // گیرنده را روشن کنید

    حلقه خالی()

    if (irrecv.decode(&نتایج))

    Serial.println(results.value, HEX); irecv.resume(); // مقدار بعدی را دریافت کنید

    شما همچنین می توانید دستورات IR ارسال کنید. پروتکل های پشتیبانی شده: NEC، Sony SIRC، Philips RC5، Philips RC6. LED فرستنده IR باید به پین ​​3 متصل شود. طرح ارسال کد IR در مثال نشان داده شده است.

    #عبارتند از IRsend irsend;

    void setup()

    Serial.begin(9600);

    حلقه خالی()

    if (Serial.read() != -1)

    برای (int i = 0; i< 3; i++)

    irsend.sendSony(0xa90, 12); // تاخیر کد پاور تلویزیون سونی (100);

    طرحی برای دریافت کدهای راه دور IR

    اولین کار این است که لیستی از کدهای کلید کنترل از راه دور خود را دریافت کنیم.

    لیست کلیدهای کنترل از راه دور را برای کنترل تعریف کنید:

    <>- حرکت رو به جلو؛

    <↓>- حرکت به عقب؛

    <←>- به سمت چپ برو، به سمت چپ برگرد؛

    <→>- بپیچ به راست؛

    <–CH>- افزایش سرعت هنگام حرکت به جلو / عقب.

    - کاهش سرعت هنگام حرکت به جلو / عقب.

    <–VOL>- حرکت دایره ای در نقطه به سمت چپ؛

    - حرکت دایره ای در نقطه به سمت راست؛

    <0>- ربات را متوقف کنید

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

    #عبارتند از

    void setup()

    // وقفه برای IR

    حلقه خالی()

    // پردازش کد کلیک if(ir_kod>0)

    ir_go(ir_code); Serial.println(ir_code); ir_code=0;

    // دریافت کد ارسال شده از راه دور IR void get_ir_kod()

    detachInterrupt(0); // غیرفعال کردن وقفه 0 اگر (irrecv.decode(&results))

    if (results.value > 0 && results.value< 0xFFFFFFFF)

    // 1 ثانیه گذشت؟

    اگر (ir_time2-ir_time1>1000)

    (ir_kod = ir_dt;ir_time1=ir_time2;)

    دیگر

    ir_code = 0;

    irecv.resume();

    بیایید آنها را به صورت ثابت مرتب کنیم

    #define FORWARD 1936 //

    #define BACK 3984 // ↓

    #SPEED_UP 144 //ch+ را تعریف کنید

    #define LEFT 3472 // ←

    #define RIGHT 1424 // →

    #define STOP 2320 // 0 - stop

    ورود یک فرمان از کنترل از راه دور را با وقفه 0 (روی پین2 دیجیتال) تعیین می کنیم. وقفه، رویه get_ir_kod() را شروع می‌کند، که کد خروجی از کنسول را تعیین می‌کند و آن را در متغیر ir_kod می‌نویسد. رویه loop() متغیر ir_kod را بررسی می کند و در صورت غیر صفر بودن مقدار متغیر (دریافت کد از کنسول)، رویه خروجی عمل ir_go() را فراخوانی می کند. بر این مرحله- این خروجی به پورت سریال عمل مورد انتظار با فشار دادن کلید است.

    این طرح در مثال نشان داده شده است.

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

    #عبارتند از

    // ورودی گیرنده IR ورودی RECV_PIN = 2;

    IRrecv irecv(RECV_PIN); decode_results; بدون امضا طولانی ir_dt, old_ir; ir_code طولانی;

    بدون امضا طولانی ir_time1, ir_time2;

    // کدهای کلید از راه دور IR (marmitek)

    #تعریف FORWARD 1936

    #define BACK 3984

    #SPEED_UP 144 //ch+ را تعریف کنید

    #define SPEED_DOWN 2192 //ch-

    #define LEFT 3472

    #راست 1424 را تعریف کنید

    #define CIRCLE_LEFT 3216 //vol+

    #define CIRCLE_RIGHT 1168 //vol-

    #تعریف STOP 2320 //0

    void setup()

    // پورت سریال Serial.begin(9600);

    // فعال کردن گیرنده irrecv. enableIRIn(); ir_time1=0;ir_time2=0;

    // وقفه برای IR

    // FALLING - هنگامی که سطح ولتاژ تغییر می کند یک وقفه فراخوانی کنید

    // HIGH تا LOW attachInterrupt(0, get_ir_kod, FALLING);

    حلقه خالی()

    // پردازش کد کلیک if(ir_kod>0)

    ir_go(ir_code); ir_code=0;

    // دریافت کد ارسال شده از راه دور IR void get_ir_kod()

    detachInterrupt(0); // وقفه 0 را غیرفعال کنید

    if (irrecv.decode(&نتایج))

    if (results.value > 0 && results.value< 0xFFFFFFFF)

    ir_dt = results.value; ir_time2=millis();

    // 1 ثانیه گذشت؟

    اگر (ir_time2-ir_time1>1000)

    (ir_kod = ir_dt;ir_time1=ir_time2;) other

    ir_code = 0;

    irecv.resume();

    // activate interrupt procedure 0 attachInterrupt(0, get_ir_kod, FALLING);

    // اقدام روی کد دریافتی void ir_go(kod)

    سوئیچ (کد)

    case FORWARD: // جهت جلو Serial.print("forward\n");

    زنگ تفريح؛

    case BACK: // جهت برگشت Serial.print("back\n");

    زنگ تفريح؛

    case SPEED_UP: // speed++ Serial.print("speed++\n"); زنگ تفريح؛

    case SPEED_DOWN: // speed-- Serial.print("speed--\n"); زنگ تفريح؛

    case LEFT: // left Serial.print("left\n"); زنگ تفريح؛

    case RIGHT: // right Serial.print("right\n"); زنگ تفريح؛

    case CIRCLE_RIGHT: // حلقه سمت راست Serial.print("circle_right\n"); زنگ تفريح؛

    case CIRCLE_LEFT: // حلقه سمت چپ Serial.print("circle_left\n"); زنگ تفريح؛

    case STOP: // stop Serial.print("stop\n"); زنگ تفريح؛

    15:45 20.03.2002

    سه راه برای کنترل کامپیوتر از طریق کنترل از راه دور IR این مطالب عمدتاً حاوی اطلاعات نظری در مورد استفاده از کنترل از راه دور مادون قرمز از تلویزیون ها و سایر لوازم خانگی برای کنترل رایانه است. یافتن یک کاربرد واقعی برای این ویژگی چندان دشوار نیست. شما می توانید راه اندازی برنامه ها را کنترل کنید. با حرکت دادن نشانگر ماوس و شبیه سازی فشار دادن دکمه های آن؛ شبیه سازی ضربات کلید روی صفحه کلید؛ مدیریت WinAmp؛ کامپیوتر را خاموش و ریستارت کنید.

    سه روش در نظر گرفته خواهد شد. همه آنها وجود یک گیرنده IR متصل به رایانه را فرض می کنند. دو روش آخر شامل مدارهای ابتدایی است که لحیم کردن آنها به تنهایی دشوار نخواهد بود.

    بیایید با ساده ترین گزینه شروع کنیم - از طریق آداپتورهای مادون قرمز معمولی کار کنید، که در بسیاری از فروشگاه ها با قیمت هایی از 15 تا 40 دلار فروخته می شوند. آنها از طریق گذرگاه USB یا پورت سریال RS-232 (درگاه COM معمولی) متصل می شوند. آخرین گزینه برای ایده ما ارجح به نظر می رسد، زیرا. نرم افزار در نظر گرفته شده به احتمال زیاد با نسخه های USB کار نخواهد کردآداپتورها علاوه بر این، آنها ارزان تر هستند. در مورد ما، ما از آداپتور TEKRAM IRmate IR-210B که از طریق پورت COM متصل شده است استفاده کردیم. بلافاصله باید هشدار دهید که برنامه هایی که ما پیدا کردیم و توضیح دادیم نیازی به نصب درایور برای هیچ آداپتور ندارند. خود برنامه ها مستقیماً با پورت COM کار می کنند. درایورهای نصب شدهدخالت خواهد کرد عملکرد عادی. اگر از نسخه های USB آداپتورها استفاده می کنید، وضعیت برعکس می شود - درایورها مورد نیاز است، اما، همانطور که قبلا ذکر شد، پشتیبانی از دستگاه هایی از این نوع در تنظیمات همه برنامه ها ذکر نشده است.

    این برنامه تحت شرایط Shareware توزیع می شود. در حالت نمایشی، تنها چهار فرمان از راه دور می توانند استفاده شوند. از آداپتورهای مختلف، از جمله آداپتورهایی که از طریق WinLirc کار می کنند، پشتیبانی می کند (این مورد به طور جداگانه مورد بحث قرار خواهد گرفت). ریموت های تیونر تلویزیون AVerMedia مستقیماً پشتیبانی می شوند. لیست کاملدستگاه های پشتیبانی شده را می توان در وب سایت توسعه دهندگان یافت.

    استفاده از این برنامه بسیار آسان بود. پشتیبانی از زبان روسی وجود دارد. شرح کار با برنامه، بیایید با تنظیمات شروع کنیم.

    آنها در منوی "فایل" قرار دارند. در ابتدا باید مشخص کنید که آداپتور به کدام پورت متصل است. برای IRMate 210 ما، یک نکته در توضیحات برنامه وجود داشت: فقط با سرعت پورت 2400 bps کار می کند. ما از دستورالعمل ها پیروی می کنیم، در غیر این صورت، همه تنظیمات کاملا بهینه هستند. منطق کار با این برنامه، با این حال، با بقیه نیز به این معناست که ابتدا باید منبع را در برنامه - کنترل پنل - راه اندازی کنید. در مثال ما نام آن را "سامسونگ" گذاشتیم. سپس دستورات به منبع اضافه می شوند، آنها در زیر نام کنسول قرار دارند. هنگامی که آنها را اضافه می کنید، برنامه سیگنال هایی را از کنترل از راه دور به مقادیر آنها اختصاص می دهد. برای اختصاص دادن یک عمل به دکمه کنترل از راه دور، کافی است دستور مورد نظر را با ماوس به پنجره "فرمان های فعال" بکشید و هر آنچه را که لازم است در برگه "فهرست اقدامات" مشخص کنید. نسخه ثبت نشده برنامه به شما اجازه نمی دهد بیش از چهار عمل را در یک طرح ایجاد کنید.

    شرح کار با این برنامه، از تنظیمات آن شروع می کنیم. هنگامی که برنامه را برای اولین بار شروع می کنید، به بخش "تنظیمات عمومی" در منوی اصلی هدایت می شوید. انتخاب نوع آداپتور مورد استفاده ضروری است. در مورد ما، این گیرنده IR سریال عمومی است. بعد، به مورد "تنظیم سخت افزار" بروید.

    همانند برنامه قبلی، در قسمت خالی کلیک راست کرده و از منو گزینه "New Remote Control" را انتخاب کنید. اسمش را سامسونگ گذاشتیم. بعد، با استفاده از دکمه سمت راست ماوس، شروع به اضافه کردن کلیدها از کنترل از راه دور IR ("دکمه جدید از راه دور") می کنیم. در فرآیند تعیین دکمه های کنترل از راه دور، مشکلی پیش آمد - همه کدهای دکمه برای برنامه یکسان به نظر می رسید. کد دکمه در سمت راست در کادر "Signature" نمایش داده می شود و مجموعه ای ساده از داده های خوانده شده از پورت COM است. همه چیز به سادگی حل شد: در تصویر، در کنار پورت، دکمه "Setup" وجود دارد. پنجره تنظیمات ظاهر می شود، جایی که باید تب دوم به نام "تنظیمات دستگاه" را انتخاب کنید. در آن، در مقدار پارامتر "IR code length"، یک مقدار بزرگتر، به عنوان مثال، 32 بایت قرار دهید.
    برای تخصیص اقدامات به دکمه های راه دور از قبل تعریف شده، به بخش سوم "عملکردها" بروید. ریموت خود را اضافه کنید و دکمه هایی را که در قسمت قبل تعریف کردیم اضافه کنید، فقط اکنون انتخاب از منوی کشویی راست کلیک خواهد بود. اقدامات مربوط به دستورات در پنجره سمت راست اضافه می شوند.

    با علامت زدن کادر "غیرفعال کردن OSD" از شر پنجره ای که با فشار دادن این دکمه روی کنترل از راه دور روی صفحه ظاهر می شود خلاص خواهید شد.

    از نظر ذهنی، من uICE را بهتر از PCRemote دوست داشتم. اما بهتر است هر دو را امتحان کنید، زیرا. آنها چندین تفاوت دارند. علاوه بر این، اگر قرار است از نسخه های ثبت نشده استفاده کنید، uICE پس از 30 روز به طور کامل عملکرد خود را از دست می دهد، در حالی که PCRemote با محدودیت های فوق کار می کند.

    کار با گیرنده های IR خانگی

    روش مورد بحث در بالا برای کسانی مناسب است که قبلاً آداپتور IR دارند یا خرید آن مشکلی ایجاد نمی کند. در غیر این صورت، ساخت ساده ترین گیرنده IR که از طریق یک پورت استاندارد RS-232 متصل می شود، اصلاً سخت نیست. علاوه بر این، تعداد زیادی وجود دارد برنامه های بیشترکار با گیرنده های IR خانگی محبوب ترین چنین برنامه ای WinLirc است. درست تر است که آن را نه یک برنامه، بلکه یک رابط برای کار با یک پورت COM بنامیم. این رابط توسط تمام برنامه های دیگر استفاده می شود که در ادامه توضیح داده خواهد شد.

    این رابط برای دستگاه هایی است که در بالا توضیح داده شد. زیرش کار میکنه کنترل ویندوز 95/98/ME/NT/2000. در اصل برای یونیکس ایجاد شده است، بنابراین طرفداران این سیستم عامل هر آنچه را که نیاز دارند را در این سایت www.lirc.org پیدا خواهند کرد. این برنامه به خودی خود فقط قادر به دریافت و پردازش سیگنال های دریافتی از پورت COM از دستگاه ما است. برای استفاده از کنترل از راه دور برای انجام هر گونه عملکرد در رایانه، به برنامه های دیگری نیاز است که به نوبه خود تمام داده ها را از WinLIRC دریافت می کنند. تمام برنامه هایی که قبلا در بالا توضیح داده شد، قادر به کار با WinLIRC هستند.

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

    در مورد ما، ما باید از طریق WinLIRC با این برنامه کار کنیم. به گفته نویسنده، افزونه هایی برای کار با آداپتورهای IR معمولی، اکنون در حال توسعه هستند. صادقانه بگویم، من خودم این مدار را لحیم نکردم، بنابراین این و اظهارات بیشتر به بهترین وجه به بخش نظری نسبت داده می شود. بر این اساس، عاقلانه تر است که بدون کلمات اضافیچند مرجع مشروح ارائه کنید