آردوینو arduino, آموزش, توصیه شده, مقاله

راه‌اندازی ریموت با آردوینو

راه‌اندازی ماژول IR Receiver با آردوینو
مطمئنا تا به حال با کنترل‌های تلوزیون کار کرده‌اید و حداقل چندین کلید را فشرده‌اید ( وجدانن شوخیشم قشنگ نیست بگید اصلا کار نکردیم) و هر کلید هم کار خاص خودش را انجام می‌دهد به طور مثال اگر کلید افزایش صدا را انتخاب کرده باشید، قاعدتا باید صدای تلوزیون زیاد شود و یا اگر کلید شماره 3 را انتخاب کنید باید شبکه 3 را نمایش دهد و به عبارت دیگر هر کدام از این کلید‌ها یک عمل خاص را انجام می‌دهند. اگر بخواهیم به صورت کلی‌تر به موضوع نگاه کنیم می‌توانیم بگوییم که این کنترل‌ها، جهت برقراری ارتباط از راه دور با دستگاه موردنظر هستند که در اینجا دستگاه موردنظر ما تلوزیون است اما اگر کمی گسترده‌تر به داستان نگاه کنیم می‌توانیم کاربرد‌های بیشتری را برای این کنترل‌ها ذکر کنیم به طور مثال کنترل ضبط‌ های ماشین، کنترل پنکه‌های دستی و خود تلوزیون‌ها و … در این مقاله می‌خواهیم ابتدا به تعریف مادون‌قرمز بپردازیم و در نهایت یک کنترل تلوزیون را برداریم و ببینیم که چه کد‌هایی ارسال می‌کند و آیا می‌توانیم ما هم از این کنترل برای کار‌های الکترونیکی خود استفاده کنیم یا خیر؟ با ما همراه باشید.
منظور از کار‌های الکترونیکی راه‌اندازی انواع سنسور‌ها و ماژول‌ها و … است که در ادامه با یک‌دیگر به این موضوع خواهیم پرداخت.

مادون قرمز (IR) چیست؟

“Infrared” یا اشعه مادون قرمز، یك تابش الكترومغناطیسی با طول موج بیشتر از امواج مرئی و كوتاهتر از امواج رادیویی است. انتقال داده‌ها از طریق امواج فروسرخ نیز در ابعاد مكانی كوچك و بین دستگاههای كامپیوتری دیجیتال و تلفن‌های همراه مورد استفاده قرار می‌گیرد. این گونه دستگاه‌ها خود را با استانداردها و قوانینی كه توسط “انجمن داده‌های اینفرارد( IrDA )” تطبیق می‌دهند و كار می‌كنند. كنترل‌های از راه‌دور و دستگاههای مطابق با استانداردهای IrDA از دیودهای ساطع‌كننده‌ی نور یا LED برای ساطع كردن امواج فروسرخ كه توسط یك لنز پلاستیكی داخل نورافكنی كوچك و نازك كارگذاشته شده‌اند استفاده می‌شوند. این نورافكنها، نوسان‌بندی شدند و وقتی روشن و خاموش می‌شوند، به تناسب، داده‌ها را رمزگذاری می‌نمایند. دستگاه دریافت‌كننده‌ی امواج فروسرخ، از یك فتودیود با جنس سیلیكون استفاده می‌كند تا موج اینفرارد را به جریان الكتریكی تبدیل سازد. دستگاه دریافت‌كننده‌ی امواج، تنها به سیگنالهای پالس‌دهنده‌ایی كه مدام توسط فرستنده یا Transmitter ساخته می‌شوند، پاسخ می‌دهد و امواج فروسرخی كه به آرامی از نورهای محدود و كوچكی تغییر حالت می‌دهند را از صافی مخصوص خود می‌گذرانند. فناوری اینفرارد در ارتباطات برای استفاده در محل‌های كوچكی كه تراكم افراد و جمعیت در آنها بالا است و بلوتوث یا سایر فناوری‌ها قادر به انتقال داده به شكلی مناسب نیستند بسیار مفید به نظر می‌رسد. ( کار ما هم دقیقا همینه جایی که استفاده از سایر پروتکل‌ها خیلی مناسب نیست از این تکنولوژی می‌خواهیم استفاده کنیم) امواج فروسرخ یا Infrared از دیوارها عبور نمی‌كنند و در نتیجه در كار سایر دستگاههای اتاقهای مجاور دخالت نمی‌نمایند. اینفرارد رایج‌ترین فناوری استفاده‌شده در كنترلهای از راه دور دستگاههای مختلف است. امواج اینفرارد، نور لازم برای ارتباطات فیبر نوری را فراهم می‌كنند. این امواج، طول موجی با حداقل میزان انتشار ۱.۳۳ نانومتر و حداكثر میزان پراكنش نور ۱.۵۵ نانومتر دارند و در سیمهای سیلیسیومی بسیار استفاده می‌شوند اینفرارد برای مبادله اطلاعات بین کامپیوتر و گوشی همراه استفاده می شود. گوشی‌هایی که قابلیت اینفرارد را دارند، توسط این دستگاه که به کامپیوتر متصل می‌شود فایلهای صوتی و تصویری را دریافت می کنند. یکی از مزایای اینفرارد این است که، اطلاعات بدون سیم منتقل می شود. دستگاه اینفرارد شما را قادر میسازد تا حداکثر به فاصله 20-30 سانتی متری با دستگاهی که دارای اینفرارد است ارتباط برقرار کند . ذکر این نکته ضروریست که تکنولوژی اینفرارد یک تکنولوژی Face to Face بوده ( روبروی هم ) و همانند کنترل های دستگاههای صوتی و تصویری که از فناوری اینفرارد بهره می برند عمل میکند . فاصله برد آن برای گوشی های موبایل حداکثر 30 سانتی متر است. خب پس از اینکه یک آشنایی نسبی با نحوه کار مادون قرمز بدست آوردیم نوبت به استفاده عملی از این ماژول رسیده است. وسایل موردنیاز جهت انجام پروژه راه‌اندازی ماژول IR RECEIVER
  • کنترل( هر کنترلی که مدنظرتان است چه کنترل ضبط ماشین، تلوزیون و …)
  • آردوینو( هر مدلی که در دسترس است اصلا نوع آن مهم نیست)
  • سه  یا 4 عدد LED (اینم اگه در دسترس نبود اشکالی نداره)
شماتیک راه‌اندازی ماژول IR RECEIVER با آردوینو راه‌اندازی ماژول IR Receiver با آردوینو خب پس از اینکه مدار را به صورت بالا متصل کردیم نیاز است که آن را برنامه‌نویسی کنیم برای این کار باید به صورت زیر عمل کنیم. برنامه‌نویسی ماژول IR RECEIVER با آردوینو این بخش شامل سه قسمت می‎‌یاشد. قسمت اول: نصب کتابخانه IRremote قسمت دوم: نوشتن برنامه‌ای که کد‌های هگز هر کنترلی را قادر به دریافت کردن است. قسمت سوم: تنظیم کد‌های هگز بدست آمده جهت انجام کار موردنظر.   قسمت اول: برای این قسمت باید به به صورت تصاویری که در ادامه قرار می‌دهیم عمل کنیم.   نصب کتابخانه IRremote نصب کتابخانه IRremote برای آردوینو پس از اینکه نصب کتابخانه به اتمام رسید نوبت به انجام قسمت دوم است. کد قسمت دوم:
عملکرد این کد به گونه‌ای است که در واقع هر کنترلی را به سمت IR RECEIVER بگیرید و کلید‌های مدنظرتان را انتخاب کنید، کدهگز کلید فشرده را خواهید دید. به طور مثال بنده تصویر کنترلی را که در ادامه می‌بینید استفاده کرده‌ام و در ادامه می‌خواهم که از کلید های خاموش کردن، 1، 2، 3، 4، 5، 6، و Enter استفاده کنم. برای این کار قاعدتا باید اول از همه کد هگز‌ کلید‌های خواسته شده را در بیاورم پس برای این کار کد بالا را روی آردوینو آپلود می‌کنم و در نهایت نتیجه به صورت زیر خواهد بود.
کنترل استفاده شده در پروژه (حقیقتا خودمم نمیدونم کنترل چه تلوزیونیه ولی جواب کار ما رو میده)

کنترل تلوزیون اردوینو

کد‌های هگز بدست آمده از کنترل مورد‌نظر: خب پس از اینکه کد‌های هگز موردنظر را در آوردیم نوبت به نوشتن کد موردنظرمان است که در قسمت دوم به آن می‌پردازیم. کد قسمت دوم: اگر به کد دقت کنید اصل کد در ساختار Switch/ Case نوشته شده است که در واقع عملکرد آن به این نحو است که اگر کدهگز مورد نظر جز یکی از Case باشد کار مربوط به آن Case را انجام می‌دهد در غیر اینصورت کار خاصی را انجام نمی‌دهد. ساختار کلی برنامه به این نحو است که اگر:
  • کلید 1 انتخاب شود یک LED روشن می‌شود.
  • اگر کلید 2 انتخاب شود LED شماره دو روشن می‌شود.
  • اگر کلید 3 انتخاب شود LED شماره سه روشن می‌شود.
  • اگر کلید شماره 4 انتخاب شود تابع LED_Strip1 فراخوانی شده و عمل می‌کند.
  • اگر کلید شماره 5 انتخاب شود تابع LED_Strip2 فراخوانی شده و عمل می‌کند.
  • اگر کلید شماره 6 انتخاب شود تابع LED_Strip3 فراخوانی شده و عمل می‌کند.
  • و در نهایت اگر کلید خاموش شدن انتخاب شود تمامی LED ها خاموش می‌شوند.
راه‌اندازی ماژول IR RECEIVER با آردونیو
به این نکته توجه کنید که با این آموزش با کمی خلاقیت قادر هستید تقریبا تمامی ادوات الکترونیکی را با آن کنترل کنید.
تمرین: به عنوان تمرین می‌توانید یک OLED را راه‌اندازی و سپس توسط کلید‌های کنترل تلوزیون خود یک منو درست کنید که با زدن هر کلید یک عمل خاصی را روی OLED انجام دهد. امیدواریم که این آموزش هم موردنظر شما مخاطبین سیسوگی عزیز قرار گرفته باشد.
BLO OM

درباره BLO OM

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

12 دیدگاه در “راه‌اندازی ریموت با آردوینو

  1. عرفان گفت:

    سلام من IRدوپایه دارم میشه بگید طوری باید به بورد اردوینو متصل بشه

    1. زئوس Zeus زئوس Zeus گفت:

      اون چیزی که شما دارد دیود IR هست – حالا ممکنه گیرنده یا فرستنده باشه
      اگر گیرنده باشه برای اتصال اون نیاز به مدار تقویت کننده دارید که با سه جستجوی ساده میتونید مدار موردنیازش رو پیدا کنید

  2. MK گفت:

    سلام وقتتون بخیر
    این برنامه رو میتوان برای میکروهای stm32F103 هم اجرا کرد؟؟ کد هگز ها رو میتوان بدست آورد؟

    1. زئوس Zeus زئوس Zeus گفت:

      سلام اگر از پلتفرم آردوینو برای میکروتون استفاده کنید – میتونید این کد رو به سادگی استفاده کنید.

  3. امیر گفت:

    سلام خسته نباشید میخواستم اموزش کنترل تلوزیون dvd player و کولر رو با گوشی انجام بدم مثلا کد های ریموت رو تو اردونیو سوار کنم و با گوشی خودم مثلا با بلوتوث و ماژول ir receiver این کارو انجام بدم

    1. زئوس Zeus زئوس Zeus گفت:

      خوب برای این کار حتی نیاز به آردوینو ندارید 🙂
      پروژه ای هست که با استفاده از خروجی هدفون گوشی میتونید این کار رو انجام بدید به سادگی
      https://www.youtube.com/watch?v=xyeFf42uE9M

  4. hamed گفت:

    سلام
    تشکر میکنم از مطالب خوبتون و همچنین سایت عالیتون
    یه سوال داشتم
    اگه کد یکی از دکمه های کنترل را که روبروی سنسور گرفتیم و بدست آوردیم، (مثلا اگه کد دکمه ی خاموش، 6583529838 باشه) را بدست آوردیم و حالا بخواهیم با فرستنده ی مادون قرمز همون کد را بفرستیم و مثلا در همین گیرنده ای که در این آموزش ازش استفاده کردیم، دریافتش کنیم، باید چه کدی برای فرستادن اون کد بدست اومده با فرستنده انجام بدیم؟
    ممنون

    1. زئوس Zeus زئوس Zeus گفت:

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

  5. محمدرضا گفت:

    سلام
    ببخشید چطری می شه کد های هگز را به دست بیاریم؟

    1. زئوس Zeus زئوس Zeus گفت:

      توی متن مقاله کد قسمت دوم رو ببینید
      با این کد میتونید داده های هگز رو به دست بیارید

  6. َAmir گفت:

    سلام
    این مادون قرمز ها خوبی که دارن اینه که نویزی نیستن (یا حداقل من ندیدم که اینجوری باشه)… البته کدهای هگز متفاوت هم مزیدبرعلت هست…
    اما فکر نمی کنم که بیشتر از 10 متر جواب بدن … شما تست کردی چقدر برد داره ؟

    1. BLO OM BLO OM گفت:

      سلام دوست عزیزم بل همینطوریه که گفتید

      حداکثرش 10 متره فکر کنم البته مطالبی رو که خوندم عرض میکنم وگرنه از لحاظ تست عملی که بخواید جواب بگیرید کمتره

      حداقل خودم برای همین پروژه باید حتما نزدیکش میگرفتم ( تقریبا زیر 1 متر در نظر بگیرید ) تا کار کنه.

      موفق باشید.