آموزش آردوینوپروژه های آردوینو

آموزش کنترل LED با ریموت کنترل مادون قرمز برد آردوینو

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

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

این پروژه به دو بخش تقسیم می شود:

  1. رمز گشایی سیگنال های IR ارسالی از کنترل
  2. انجام کار با سینگال های رمزگشایی شده

شما سیگنال های IR ارسال شده توسط کنترل از راه دور خود را رمزگشایی خواهید کرد

قطعات مورد نیاز

کنترل LED با ریموت کنترل مادون قرمز برد آردوینو

برای اجرای مرحله به مرحله این پروژه به قطعات زیر نیاز دارید.

  • Arduino UNO
  • برد بورد
  • ریموت کنترل
  • گیرنده IR (من از TSOP4838 استفاده خواهم کرد)
  • 3 ال ای دی
  • 3 مقاومت 220 اهم
  • سیم های جامپر

معرفی گیرنده مادون قرمز (IR)

گیرنده مادون قرمز قطعه ای است که در شکل زیر نشان داده شده است. این قطعه TSOP4838 است.

گیرنده مادون قرمز TSOP4838

پین های گیرنده مادون قرمز:

  • پین اول: Vout
  • پین دوم: GND
  • پین سوم: Vcc

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

نحوه کار کنترل از راه دور IR

هر دکمه اطلاعات خاصی را ارسال می کند. بنابراین، ما می توانیم آن اطلاعات را به یک دکمه خاص اختصاص دهیم.

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

در این قسمت از پروژه باید سیگنال های IR مرتبط با هر دکمه را رمزگشایی کنید.

گیرنده IR را مطابق شماتیک زیر وصل کنید.

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

برای کنترل گیرنده IR، باید کتابخانه IRremote را در Arduino IDE نصب کنید.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

به Sketch > Include Library > Manage Libraries بروید. سپس IRremote را جستجو کنید.

کتابخانه ای که توسط shirriff ساخته شده است را نصب کنید.

نصب کتابخانه IR Remote آردوینو

کد زیر را در آردوینو IDE خود کپی کرده و در برد آردوینو خود آپلود کنید. مطمئن شوید که برد و پورت COM مناسب را انتخاب کرده اید.

#include <IRremote.h>

const int RECV_PIN = 11;

void setup() {
  Serial.begin(9600);
  IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); // تعریف گیرنده
}

void loop() {
  if (IrReceiver.decode()) { // بررسی وجود دیتا جدید
    // فیلتر کردن پروتکل های نامربوط
    if (IrReceiver.decodedIRData.protocol == UNKNOWN) {
      IrReceiver.resume(); // ادامه دریافت اطلاعات
      return; // خروج از حلقه
    }

    // چاپ کردن داده های معتبر
    IrReceiver.printIRResultShort(&Serial); // چاپ کردن اطلاعات کامل

    IrReceiver.resume(); // ادامه دریافت اطلاعات
  }
  delay(100);
}

بعد از آپلود این کد، سریال مانیتور را با نرخ باود 9600 باز کنید.

در این پروژه شما می خواهید 3 ال ای دی را کنترل کنید. 6 کلید روی کنترل از راه دور برای کارهای زیر انتخاب کنید:

  • LED1 – روشن
  • LED1 – خاموش
  • LED2 – روشن
  • LED2 – خاموش
  • LED3 – روشن
  • LED3 – خاموش

به عنوان مثال، دکمه شماره 1 کنترل از راه دور خود را فشار دهید. شما باید اطلاعاتی در مورد آن کلید در مانیتور سریال دریافت کنید. مقدار “command” را برای آن کلید ذخیره کنید.

دستور Arduino IDE IR remote Key

همین کار را برای دکمه های دیگر انجام دهید.

کد مربوط به هر دکمه را یادداشت کنید، زیرا بعداً به آن اطلاعات نیاز خواهید داشت.

مدار نهایی کنترل LED با کنترل IR

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

مدار نهایی کنترل LED با کنترل IR

تمام قطعات را با دنبال کردن شماتیک های زیر مونتاژ کنید.

کد کامل آردوینو کنترل GPIO با ریموت

اکنون، مقادیر دستوری را که در مرحله قبل گرفته‌اید، برای هر دکمه وارد کنید. باید آنها را در کد کامل جایگذاری کنید. کد کامل در فایل دانلودی انتهای صفحه قرار داده شده است.

برای تغییر کد متناسب با کنترل خود، مقادیر بدست آورده شده در قسمت قبلی را در قسمت case های مختلف جایگزین کنید. به عنوان مثال من برای کلید خاموش کردن LED1 مقدار 0x02 را دریافت کردم. بنابراین این مقدار را به این شکل به کد اضافه میکنم.

case 0x02: // کد خاموش کردن LED1
        digitalWrite(greenPin, HIGH);
        Serial.println("LED OFF");
        break;

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

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

به عنوان مثال، می توانید آن LED ها را با یک رله برای کنترل لوازم خانه خود جایگزین کنید. یا یک دکمه برای خاموش یا روشن کردن همه LED ها به طور همزمان و … اختصاص بدهید.

خیلی از کنترل ها دارای دکمه های خیلی زیادی هستند که از آنها استفاده نمیکنید، پس میتوانید آن ها را برای یک کار مفید اختصاص بدهید!

نحوه عملکرد پروژه کنترل LED با کنترل قدیمی

موارد موجود در فایل : سورس کامل

5 (2 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

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

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

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

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