نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • مشاوره
  • آردوینو: کنترل و گیرنده مادون قرمز. کنترل آردوینو با کنترل از راه دور IR

آردوینو: کنترل و گیرنده مادون قرمز. کنترل آردوینو با کنترل از راه دور IR

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



کنترل از راه دور بسیار راحت است زیرا تقریباً از همان دکمه های روی صفحه برای کنترل تلویزیون و پخش کننده استفاده می شود. یک تفاوت این است که " AV"در حالت کنترل تلویزیون به یک دکمه تغییر می کند" " (توقف) هنگام تغییر به حالت کنترل پخش کننده. تصاویر دو حالت را نشان می دهند، در سمت چپ حالت کنترل تلویزیون، در سمت راست حالت کنترل پخش کننده است.

خوب، اکنون من کمی در مورد ایجاد چنین کنترل از راه دور به شما می گویم. برای دستگاه من از کنترل از راه دور برای تلویزیون ERGO و کنترل از راه دور برای پخش کننده رسانه DUNE HD TV101W استفاده کردم.

برای دریافت اطلاعات از ریموت هایی که استفاده کردم سنسور مادون قرمز TSOP1138 (مشابه TSOP4838) روشن است فرکانس کاری 38 کیلوهرتز و طبق نمودار آن را به برد آردوینو وصل کنید:

این طرح برای تعیین رمزگذاری انتقال داده ها و خواندن کد دکمه های کنترل از راه دور مورد نیاز نخواهد بود.

در طرح در خط int RECV_PIN = 11; پین شماره 4 ما را نشان دهید

پس از آپلود طرح، "نمایشگر پورت" را باز کنید و با فشار دادن دکمه های کنترل از راه دور، به داده های دریافتی نگاه کنید.

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

مثل عکس بالا گرفتم زیر کتیبه تلویزیونکدهای دکمه کنترل از راه دور تلویزیون؛ زیر کتیبه بازیکن- کدهای کنترل از راه دور پخش کننده رسانه.

حالا گیرنده سیگنال مادون قرمز خود را از برد آردوینو جدا کرده و به آن وصل می کنیم ماژول بلوتوث HC-05 و LED مادون قرمز مطابق نمودار در عکس.

پس از آن، ما به طور مستقیم به طرح حرکت می کنیم.

طرح

#عبارتند از IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) (int x = Serial.read(); if (x == 49) (y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // کدهای دکمه برای کنترل تلویزیون اگر (x == 97) (irsend.sendNEC(0x807F08F7, 32)؛ تاخیر(40 ) if (x == 98) (irsend.sendNEC(0x807FA857, 32); delay(40); ) if (x == 99) (irsend.sendNEC(0x807F708F, 32); delay(40); ) if (x == 100) (irsend.sendNEC(0x807FF00F, 32); تاخیر(40); ) if (x == 101) (irsend.sendNEC(0x807F30CF, 32); تاخیر(40); ) اگر (x == 102) (irsend.sendNEC(0x807FB04F, 32); تاخیر(40)؛ ) if (x == 103) (irsend.sendNEC(0x807F9867, 32); تاخیر(40)؛ ) if (x == 104) (irsend .sendNEC(0x807F58A7, 32) اگر (x == 105); ( irsend.sendNEC(0x807F48B7, 32); تاخیر(40); ) if (x == 108) (irsend.sendNEC(0x807FB847, 32); تاخیر(40); if (x == 109) (irsend.sendNEC( 0x807F6897، 32)؛ تاخیر (40); ) ) if (y == 2) ( //کدهای دکمه های کنترل از راه دور پخش کننده رسانه اگر (x == 97) (irsend.sendNEC(0xFDC23D, 32); تاخیر(40)؛ ) اگر (x == 98) ( irsend. sendNEC(0xFDE01F, 32); delay(40); if (x == 99) (irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 100) (irsend.sendNEC( 0xFDE817، 32); تاخیر (40) if (x == 103) (irsend.sendNEC(0xFDA857)؛ تاخیر(40)؛ اگر (x == 104) (irsend.sendNEC(0xFD6897, 32); ) if (x == 105) (irsend.sendNEC(0xFDE817, 32); delay(40); ) if (x == 106) (irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 107) (irsend.sendNEC(0xFD9867, 32); تاخیر(40)؛ ) if (x == 108) (irsend.sendNEC(0xFD28D7, 32); تاخیر(40); ) اگر (x == 109) (irsend.sendNEC(0xFD20DF, 32); تاخیر(40)؛ ) ) )


در طرح باید کدهای دکمه ها را ویرایش کنید، یعنی در خطوط:

اگر (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(40);
مقدار 807F08F7 را به:

اگر (y == 1) ( //کدهای دکمه برای کنترل از راه دور تلویزیون if (x == 97) (irsend.sendNEC(0x12345678, 32); تاخیر(40)؛ )
جایی که 12345678 کد دکمه شما است.

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

ما بلوتوث را در تلفن روشن می کنیم، دستگاه خود را جستجو می کنیم، یک جفت ایجاد می کنیم، سپس برنامه را اجرا می کنیم Pultروی تلفن

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

پس از آن روی این آیکون کلیک کنید. ما باید پنجره ای با لیستی از همه موجودات ببینیم دستگاه های بلوتوث، جایی که دستگاه خود را برای اتصال انتخاب می کنیم.

حالا دوباره برگشتیم صفحه اصلیو ما می توانیم تلویزیون را کنترل کنیم:

برای تغییر حالت کنترل باید دکمه برچسب زده شده را فشار دهیم "بازیکن". همانطور که قبلاً گفتم، دکمه ما با برچسب "AV" به دکمه "تغییر می کند". ":

برای قطع ارتباط با دستگاه ما، کافی است دکمه «Power» را برای چند ثانیه نگه دارید.

خوب، چند عکس از دستگاه تمام شده من.

به نظر می رسد بسیار خوب ظاهر شد. منتظر نظرات در مورد مقاله هستم.

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

دستگاه گیرنده IR. اصل عملیات

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

اصل عملکرد یک گیرنده IR پردازش سیگنال از کنترل از راه دور

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

تحت تأثیر تابش مادون قرمز در یک فوتودیود، که بین پو nمناطق یک ناحیه اضافی از نیمه هادی ایجاد کردند ( من-region)، جریان شروع به جریان می کند. سیگنال به یک تقویت کننده و سپس به یک فیلتر باند می رود که روی یک فرکانس ثابت تنظیم شده است: 30; 33; 36; 38; 40 و 56 کیلوهرتز و از گیرنده در برابر تداخل محافظت می کند. تداخل می تواند توسط هر وسیله خانگی ایجاد شود.

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

نحوه اتصال گیرنده IR به آردوینو

محفظه گیرنده های مادون قرمز حاوی یک فیلتر نوری برای محافظت از دستگاه در برابر میدان های الکترومغناطیسی خارجی است. برای اتصال گیرنده IR به آردوینو UNO از سه پایه استفاده می شود که به GND، 5 ولت و A0 متصل می شوند. توصیه می کنیم برای شروع از ولتاژ 3.3 ولت استفاده کنید تا حسگر مادون قرمز در حین نصب نسوزد.

برای این درس به جزئیات زیر نیاز داریم:

  • آردوینو اونو / آردوینو نانو / آردوینو مگا برد;
  • تخته نان;
  • گیرنده IR;
  • کنترل از راه دور؛
  • 1 LED و مقاومت 220 اهم؛
  • سیم های نر-نر و نر-ماده.

نمودار اتصال گیرنده IR به پورت آنالوگ آردوینو

گیرنده IR را مطابق نمودار بالا وصل کنید و LED ها را به پایه های 12 و 13 وصل کنید. قبل از دانلود برنامه، اگر قبلاً نصب نشده باشد، باید کتابخانه IRremote.h را نصب کنید. این کتابخانهاعمال نمی شود کتابخانه های استانداردمحیط های برنامه نویسی آردوینو IDE. می توانید کتابخانه IRremote.h و طرح تمام شده را در یک آرشیو از اینجا دانلود کنید درایو گوگلارتباط دادن .

طرحی برای گیرنده IR آردوینو:

#عبارتند از // کتابخانه را برای گیرنده IR وصل کنید IRrecv irecv(A0); // نشان دهنده پینی است که گیرنده IR به آن متصل استنتایج decode_results. تنظیم void () // راه اندازی رویه ( irrecv.enableIRIn (); // شروع به دریافت سیگنال مادون قرمز کنید pinMode (13، OUTPUT)؛ // پین 13 خروجی خواهد بود pinMode (12، OUTPUT)؛ // پین 12 خروجی خواهد بود pinMode (A0، INPUT)؛ // پین A0 ورودی خواهد بود (eng. "input") Serial.begin(9600); // مانیتور پورت را وصل کنید) حلقه خالی () // حلقه رویه (اگر (irrecv.decode (&نتایج)) // اگر داده ها رسیده است، دستورات را اجرا کنید( Serial.println(results.value); // داده های دریافتی را به پورت ارسال کنید // بسته به سیگنال دریافتی LED ها را روشن و خاموش کنید if (results.value == 16754775) ( digitalWrite (13, HIGH); ) if (results.value == 16769055) ( digitalWrite (13, LOW); ) if (results.value == 16718055) (digitalWrite (12, HIGH ) if (results.value == 16724175) ( digitalWrite (12, LOW ); ) irrecv.resume (); // تایید کنید سیگنال بعدیروی گیرنده IR } }

توضیحات برای کد:

  1. کتابخانه IRremote.h شامل مجموعه ای از دستورات است و به شما امکان می دهد طرح را ساده کنید.
  2. دستور decode_results نتایج نام متغیر را به سیگنال های دریافتی از کنترل از راه دور اختصاص می دهد.

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

همچنین اغلب بخوانید:

گیرنده IR و کنترل از راه دور مادون قرمز - رایج ترین و ساده ترین راه برای کنترل تجهیزات الکترونیکی. طیف تابش مادون قرمز برای چشم انسان قابل مشاهده نیست، اما به طور کامل توسط گیرنده های IR که در داخل آن تعبیه شده اند دریافت می شود. لوازم برقی. برای کنترل از ماژول های راه دور Arduino ir استفاده می شود تکنیک های مختلفدر خط دید

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

تشعشعات با استفاده از مواد عکاسی مخصوص ثبت می شود که بر اساس آن گیرنده ها ساخته می شوند. علاوه بر اجسام گرم شده (خورشید، لامپ های رشته ای یا شمع ها)، منبع تابش مادون قرمز می تواند دستگاه های حالت جامد - LED های IR، لیزرها باشد. تابش در محدوده مادون قرمز دارای تعدادی ویژگی است که استفاده از آنها را در کنترل از راه دور راحت می کند:

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

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

گیرنده IR آردوینو

برای خواندن سیگنال IR به خود برد آردوینو، تخته نان، گیرنده سیگنال IR و جامپرها نیاز دارید. انواع مختلفی از گیرنده های مختلف وجود دارد، اما بهتر است از TSOP312 یا سایر گیرنده های مناسب برای آردوینو استفاده کنید. داده های کنترل از راه دور به گیرنده را می توان از طریق پروتکل RC5 یا NEC منتقل کرد.

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

برای راحتی، می توانید از ماژول های آماده گیرنده IR استفاده کنید.

اتصال گیرنده IR به آردوینو

خروجی های گیرنده IR به آردوینو به GND، 5 ولت و ورودی دیجیتال. نمودار اتصال سنسور به یازدهمین پایه دیجیتال در زیر نشان داده شده است.

مدار با ماژول گیرنده مادون قرمز به این صورت است:


کتابخانه هایی برای کار با IR

برای کار با دستگاه های IR، می توانید از کتابخانه IRremote استفاده کنید که ساخت سیستم های کنترل را ساده می کند. می توانید کتابخانه را دانلود کنید. پس از دانلود فایل ها را در پوشه \arduino\libraries کپی کنید. برای اتصال به طرح خود، باید کتابخانه ها را اضافه کنید فایل هدر#عبارتند از .

برای خواندن اطلاعات، از مثال IRrecvDumpV2 از کتابخانه استفاده کنید. اگر کنترل از راه دور قبلاً در لیست موارد شناسایی شده وجود داشته باشد، اسکن لازم نیست. برای خواندن کدها، باید ARDuino IDE را راه اندازی کنید و نمونه IRrecvDemo را از IRremote باز کنید.

یک کتابخانه دوم برای کار با سیگنال های IR وجود دارد - این IRlib است. از نظر عملکرد مشابه قبلی است. در مقایسه با IRremote، IRlib مثالی برای تعیین فرکانس سنسور IR دارد. اما استفاده از کتابخانه اول ساده‌تر و راحت‌تر است.

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

عملگر decode_results برای تخصیص نتایج نام متغیر به سیگنال دریافتی مورد نیاز است.

در کد باید "HEX" را به "DEC" بازنویسی کنید.

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

این اتفاق می افتد که هنگام بارگیری یک برنامه، خطای "TDK2 در محدوده خود اعلام نشده است" نمایش داده می شود. برای رفع آن، باید به Explorer بروید، به پوشه ای که برنامه Arduino IDE در آن نصب شده است بروید و فایل های IRremoteTools.cpp و IRremoteTools.h را حذف کنید. پس از این، باید برنامه را دوباره روی میکروکنترلر بارگذاری کنید.

نتیجه

استفاده از ریموت آردوینو ir زندگی کاربر را راحت تر می کند. می تواند به عنوان یک کنترل از راه دور عمل کند تلفن همراه، تبلت یا رایانه - تنها چیزی که نیاز دارید این است نرم افزار ویژه. با استفاده از آردوینو می توانید تمام کنترل ها را متمرکز کنید. با یک دکمه روی کنترل از راه دور می توانید چندین عمل را همزمان انجام دهید - به عنوان مثال، تلویزیون و Blu-Ray را همزمان روشن کنید.

هر خانه دارای یک کنترل از راه دور تلویزیون یا یک کنترل از راه دور دیگر است. این دستگاهبه شما امکان می دهد هر دستگاهی را از راه دور کنترل کنید که بسیار راحت است. نیازی به هدر دادن کالری های گرانبها و انجام حرکات غیر ضروری نیست. اگر دستگاهی دارید و می‌خواهید آن را از راه دور کنترل کنید، می‌توانید این دستگاه را از راه دور کنترل کنید. در صورت تمایل می توانید با دستان خود یک ریموت کنترل بسازید اما نیازی به این کار نیست و این داستان دیگری است. چرا ممکن است به کنترل از راه دور نیاز داشته باشید؟! - ساده است:

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

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

کانال های ارتباطی اصلی عبارتند از:

  • کانال رادیویی
  • اولتراسونیک
  • فرو سرخ

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

چه مدت قبل شغل قدیمیکنترل از راه دور و "دریچه چشمی" (گیرنده IR) را از سیستم امنیتی که در حال خاموش شدن بود برداشتم، مدت زیادی بیکار بود و در نهایت به بررسی عملکرد آن رسیدم.

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

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

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

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

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

برای دریافت سیگنال های آردوینو IR، گیرنده IR را به صورت زیر وصل می کنیم:

لطفاً توجه داشته باشید که محل قرارگیری پایه های گیرنده ممکن است متفاوت باشد.


گیرنده دارای 3 پایه، "+" و "-" منبع تغذیه (عمدتا ولتاژ 3.3-5V) و پایه داده است که اطلاعات را به دستگاه (در مورد ما آردوینو) منتقل می کند. ولتاژ تغذیه برای TSOP34836 2.7-5.5 ولت است. من از 5 ولت خروجی استاندارد آردوینو استفاده خواهم کرد.

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

#عبارتند از int RECEIVE_PIN = 11;//تماس گیرنده int RELAY_PIN = 3;//ارتباط رله IRrecv irrecv(RECEIVE_PIN);//تخصیص پین گیرنده decode_results نتایج؛//داده های دریافتی

void setup() (
Serial.begin(9600);
irecv.enableIRIn(); // گیرنده را روشن کنید
pinMode (RELAY_PIN، OUTPUT)؛ // رله را برای خروجی پیکربندی کنید
DigitalWrite(RELAY_PIN،HIGH)؛ // مقدار را بالا تنظیم کنید
}

حلقه خالی() (
if (irrecv.decode(&results)) (//اگر داده دریافت شود
Serial.print ("0x");
Serial.println(results.value, HEX);// خروجی پیام دریافتی را به ترمینال می دهد
if ((results.value == 0x8FF40BF) ||(results.value == 0xD72040BF)) digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN));//اگر کد دکمه مخالف 0x8FF40BF یا 0xB0F0 است، حالت relay را تغییر دهید
تاخیر (200) // تاخیر از فعال سازی مضاعف
irrecv.resume();// مقدار بعدی را دریافت کنید
}
}

بگذارید کمی با طرح توضیح دهم:



if ((results.value == 0x8FF40BF) ||(results.value == 0xD72040BF))

مقدار به دست آمده با "0x8FF40BF" و "0xD72040BF" مقایسه می شود - اینها کدهای دکمه در سیستم هگزادسیمالحساب دیفرانسیل و انتگرال دو معنی فقط به این دلیل که من از دو کنترل از راه دور با کدهای منحصر به فرد استفاده می کنم.



digitalWrite(RELAY_PIN، !digitalRead(RELAY_PIN));

رویه استاندارد ضبط دیجیتالپین به جز "!digitalRead(RELAY_PIN)". امضا کردن "!" نشان دهنده وارونگی است، در مورد ما وارونگی وضعیت خروجی دیجیتال "RELAY_PIN".



Serial.print ("0x");
Serial.println(results.value, HEX);//پیام دریافتی را به ترمینال خروجی می دهد

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


همچنین در کتابخانه IRremote چندین مورد وجود دارد نمونه های مختلف، که ممکن است مفید باشد.


در پیوست مقاله:


  • طرحی برای آردوینو

  • PCB برای 4 سنسور

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

این پروژه استفاده می کند ماژول آردوینو Yún، که به طور ویژه برای مدیریت دستگاه هایی که پشتیبانی می کنند طراحی شده است اتصال شبکه. Yún دو پردازنده دارد که اولی سیستم عامل را اجرا می کند سیستم لینوکسو می تواند به سیم یا متصل شود شبکه بی سیم. پردازنده دوم همان عملکردهای پردازنده در ماژول Arduino Leonardo را انجام می دهد. بنابراین، سازگاری خوبی با کتابخانه ها و سخت افزار آردوینو فراهم می کند.

این پروژه از یک LED مادون قرمز و یک گیرنده برای ارسال و دریافت سیگنال های کنترل از راه دور استفاده می کند. نور مادون قرمز برای چشم انسان نامرئی است، اما به راحتی توسط حسگرهای الکترونیکی تشخیص داده می شود. برای انتقال مطمئن تر سیگنال، دستگاه ها از نور مادون قرمز مدوله شده استفاده می کنند که امکان دریافت سیگنال های کاذب را از بین می برد. گیرنده مادون قرمز- این دستگاه کوچک، که طول می کشد سیگنال های مادون قرمزمدوله شده در یک فرکانس خاص، معمولاً 38 کیلوهرتز. با استفاده از این گیرنده، ماژول آردوینو بیت های اطلاعاتی که از کنترل پنل ارسال می شود را تعیین می کند.

ارسال دستورات به شما مرکز چند رسانه ایبا استفاده انجام خواهد شد رابط وب ساده، که به صورت محلی در ماژول Yún اجرا می شود و برای اکثر مرورگرهای وب مدرن موجود است. وب سایت کار مدیریت را آسان تر می کند دستگاه مادون قرمزو به شما امکان می دهد حتی چندین دستور را به طور همزمان پردازش کنید. برای مثال، فشار دادن دکمه «تماشا فیلم» می‌تواند سیگنالی برای روشن کردن تلویزیون، پخش‌کننده بلوری و اتصال آن به ورودی تلویزیون ارسال کند.

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

مرحله 1: اتصال کامپوننت ها

  • LED مادون قرمز را با اجرای یک سیم از آند LED (سرب بلند) به ماژول Yún وصل کنید خروجی دیجیتال 13 ماژول یون.
  • با استفاده از یک مقاومت 100 اهم، کاتد LED (سرب کوتاهتر) را به پایه سنسور IR (سرب وسط سنسور) وصل کنید.
  • پین تشخیص سنسور مادون قرمز (سمت چپ ترین پایه وقتی از جلوی سنسور مشاهده می شود) را به پایه دیجیتال 11 ماژول Yún وصل کنید.
  • پایه زمین سنسور مادون قرمز (پایه وسط) را به پایه زمین ماژول Yún وصل کنید.
  • در نهایت، سیم برق سنسور (پایه سمت راست وقتی از جلوی سنسور مشاهده می شود) را به پایه 5 ولتی ماژول Yún وصل کنید.

مرحله 2: نرم افزار Dependencies را نصب کنید

  • وقتی وارد می شود کارت MicroSDدر ماژول Yún، Yún را با اتصال روشن کنید USB Microکابل B به ماژول Yún و آداپتور USBتغذیه.
  • مطمئن شوید که Yún راه اندازی شده و به شبکه بی سیم شما متصل است. پیکربندی ماژول Yún در این صفحه نشان داده شده است.
  • اتصال به خط فرمانیوون با استفاده از SSH. این فرآینددر این صفحه توضیح داده شده است.
  • پس از اتصال به خط فرمان، نسخه سیستم عامل را مشاهده خواهید کرد. این پروژهبا نسخه BusyBox v1.19.4 از 2014-04-10 و بالاتر تست شده است. اگر بیشتر استفاده کنید نسخه قدیمی، سپس دستورالعمل های زیر را دنبال کنید.
  • در یک خط فرمان، دستورات زیر را برای به روز رسانی مدیر بسته اجرا کنید:
آپدیت opkg
  • سپس، PIP، مدیر بسته پایتون را نصب کنید:
نصب opkg توزیع && opkg نصب python-openssl && opkg نصب پایتون-expat && easy_install pip

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

  • یک دایرکتوری روی کارت SD خود برای ذخیره بسته های پایتون ایجاد کنید:
mkdir /mnt/sda1/python-packages
  • چارچوب Flask Python را نصب کنید:
pip install --target /mnt/sda1/python-packages flask

ممکن است برخی از پیام های هشدار را مشاهده کنید، اما می توانید آنها را نادیده بگیرید.

  • مسیر جستجو را برای فایل های بسته پایتون به روز کنید:
echo "export PYTHONPATH=/mnt/sda1/python-packages" >> /etc/profile
  • دایرکتوری هایی ایجاد کنید که در آن Arduino IDE فایل های وب سرور را آپلود می کند:
mkdir /mnt/sda1/Arduino mkdir /mnt/sda1/arduino/www
  • برای به روز رسانی مسیر جستجوی فایل پایتون، آردوینو یون را راه اندازی مجدد کنید.

  • کتابخانه IR را دانلود کنید. (Arduino IRremote، کتابخانه ایجاد شده توسط Ken Shirriff.)
    آرشیو را از حالت فشرده خارج کنید، نام پوشه را با آن تغییر دهید آردوینو_ IRRemote- استادبر آردوینو_ IRRemoteو پوشه Arduino_IRremote را به عنوان یک کتابخانه در محیط وارد کنید توسعه آردوینو IDE. اطلاعات دقیقنشان داد
  • طرح خود را آپلود کنید ریموت هوشمندآردوینو را از طریق کنترل کنید بایگانی فشردهاز اینجا.
    آرشیو را از حالت فشرده خارج کرده و پوشه را بکشید کنترل از راه دور هوشمندبه پوشه با طرح آردوینو. طرح را در Arduino IDE باز کنید.
  • طرح را کامپایل کرده و با انتخاب گزینه مناسب در لیست پورت های آردوینو Yún از طریق WiFi در ماژول Yún آپلود کنید. مطمئن شوید که طرح را از طریق WiFi آپلود کرده اید تا اسکریپت های پایتون مورد نیاز در ماژول Yún کپی شوند! پس از دانلود طرح، Serial Monitor را در آن باز کنید محیط آردوینو IDE (ممکن است چند دقیقه طول بکشد).
  • کنترل از راه دور را به سمت سنسور مادون قرمز بگیرید و چند دکمه روی کنترل از راه دور را فشار دهید. شما باید کد را در مانیتور سریال ببینید. اگر کد نمایش داده نشد، اتصالات مدار سنسور را بررسی کنید.

مرحله چهارم: کدهای کنترل از راه دور را پیکربندی کنید

  • اکنون می توانید فعالیت ها و کدهای کنترل از راه دور را با مرتبط کردن آنها با آنها پیکربندی کنید فایل XMLپیکربندی. استفاده كردن ویرایشگر متن، فایل را باز کنید فعالیت ها. xmlدر یک زیر شاخه wwwپوشه ها را در رایانه شخصی خود ترسیم کنید. (از Arduino IDE، روی منوی Sketch کلیک کنید و "Show Sketch Folder" را انتخاب کنید).
  • فرمت عملیات نمونه در فایل را در نظر بگیرید. هر بلوک عملیاتی یک نام مشخصه را تعریف می کند که به عنوان یک دکمه در صفحه وب کنترل از راه دور ظاهر می شود. در هر عملیات، بلوک کد حاوی دنباله ای از کدهای مادون قرمز است که باید اجرا شوند. در مثال، دستور Sony A90 (روشن/خاموش روشن) ابتدا برای روشن کردن تلویزیون و سپس فرمان پاناسونیک (روشن/خاموش روشن/خاموش) برای روشن کردن پخش کننده بلوری اجرا می شود. هر کد دارای یک پارامتر رشته ای است که خروجی داده مستقیم کد راه دور شناسایی شده از طرح آردوینو است.
  • با کپی کردن مثال و تغییر نام و کد دستورات خود را به فایل اضافه کنید. هنگامی که کنترل از راه دور به سمت سنسور مادون قرمز نشانه می رود، دکمه ها را فشار دهید و دنباله کد مادون قرمز خاص را با دقت یادداشت کنید. دنباله را در تنظیمات opcode کپی کنید.
  • به محض دریافت فایل مورد نیازپیکربندی، فایل را ذخیره کنید و طرح را دوباره از طریق WiFi در ماژول Yún آپلود کنید. برای به روز رسانی فایل پیکربندی، فایل را ویرایش کرده و طرح را از طریق WiFi با استفاده از Arduino IDE آپلود کنید.

مرحله پنجم: راه اندازی سرور با یک رابط وب

  • برای راه اندازی سرور، ماژول Yún را از طریق SSH وصل کنید. برای راه اندازی سرور، دستور زیر را اجرا کنید:
پایتون /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • هنگامی که سرور با موفقیت راه اندازی شد، پیام زیر را مشاهده خواهید کرد:
* در حال اجرا در http://0.0.0.0:5000/ * راه اندازی مجدد با Reloader
  • در صورت مشاهده خطایی، تمام وابستگی های نصب شده در مراحل قبل را بررسی کنید.
  • در مرورگر وب خود، http://arduino.local:5000/ را وارد کنید. اگر مرورگر از URL mDNS (مانند Windows، Android و برخی دیگر) پشتیبانی نمی کند توزیع های لینوکس) http:// را وارد کنید آردوینو_ آی پی_ نشانی:5000/، کجا آردوینو_ آی پی_ نشانیآدرس IP آردوینو یون شما است. آدرس IP هنگام اتصال Yún در پایین Arduino IDE قرار دارد (شکل 2).
  • پس از بارگیری صفحه، لیستی از اقدامات دکمه پیکربندی شده را مشاهده خواهید کرد. اگر خطایی مشاهده کردید، بررسی کنید که وابستگی ها به درستی نصب شده باشند، طرح بارگذاری شده باشد و سرور بدون خطا کار کند.
  • برای توقف سرور، کلیک کنید ترکیبی Ctrl-Cدر پنجره فرمانی که سرور در آن راه اندازی شده است.

مرحله ششم: استفاده از رابط وب

  • برای استفاده کنترل از راه دور هوشمندال ای دی را هدف بگیرید لوازم برقیو روی یکی از آن کلیک کنید دکمه های فعال. اگر دستگاه مورد نیاز روشن نشد، سعی کنید LED را به دستگاه های مورد نیاز نزدیک کنید. محدوده LED کوچک است، حدود 6 فوت. برای افزایش برد LED باید یک ترانزیستور اضافه کرد. اطلاعات دقیق ارائه شده است اینجا.
  • همچنین می توانید کدهای مادون قرمز را با باز کردن مانیتور سریال Yún در Arduino IDE و ارسال کد مادون قرمز به عنوان یک فرمان آزمایش کنید. به عنوان مثال، ارسال کد "SONY: C A90" (بدون نقل قول) باعث می شود که سخت افزار دستوری را به روشن کردن سونی A90. ("C" نشان دهنده بیت طول فرمان، 12، تبدیل به هگزادسیمال است).
  • برای شروع خودکارسرور هنگام بارگذاری، فایل را ویرایش کنید / و غیره/ rc. محلیدر ماژول Yún (با استفاده از ویرایشگر nano یا vi) و اضافه کنید خط بعدی قبل ازبا خط "خروج 0" در انتها:
PYTHONPATH=/mnt/sda1/python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • برای تشخیص گفتار، اجرا کنید مرورگر گوگلکروم. روی دکمه "Speak" کلیک کنید و مرورگر کروماجازه استفاده از میکروفون را می خواهد. سپس نام عملیات فعال را بگویید و منتظر بمانید تا شناسایی شود. به عنوان مثال، برای انجام عملیات فیلم "فیلم"، دکمه "صحبت" را فشار دهید و کلمه "فیلم" را در میکروفون بگویید. عباراتی مانند "Play Movies" یا "Run Movies" پشتیبانی نمی شوند - فقط نام واضح عملیات فعال شناسایی می شود.

بهترین مقالات در این زمینه