ماژول فرستنده و گیرنده مادون قرمز

(IR Transmitter & Receiver Module)

ماژول فرستنده و گیرنده مادون قرمز (IR) – ارتباط بی‌سیم، کنترل از راه دور

ماژول فرستنده و گیرنده مادون قرمز (IR Transmitter & Receiver Module) یک مجموعه کامل برای ارسال و دریافت سیگنال‌های مادون قرمز است. این ماژول با استفاده از فناوری ارتباط نوری مادون قرمز، امکان کنترل بی‌سیم، انتقال داده و ارتباط ریموت را برای پروژه‌های الکترونیکی فراهم می‌کند. این کیت شامل فرستنده IR (IR LED) و گیرنده IR (IR Receiver Module) می‌باشد.


ویژگی‌های کلیدی و مزایا

  • ارتباط بی‌سیم ساده: ایجاد ارتباط یک طرفه یا دو طرفه بین دستگاه‌ها

  • کنترل از راه دور: ساخت ریموت کنترل اختصاصی برای پروژه‌ها

  • انتقال داده دیجیتال: ارسال داده‌های کد شده مانند کدهای ریموت

  • مصرف انرژی پایین: مناسب برای پروژه‌های باتری‌دار

  • قیمت بسیار مقرون به صرفه: ارزان‌ترین روش ارتباط بی‌سیم

  • نصب و راه‌اندازی آسان: اتصال مستقیم به میکروکنترلرها

  • سازگاری گسترده: کار با تممین پلتفرم‌های الکترونیکی


مشخصات فنی کامل

فرستنده مادون قرمز (IR Transmitter):

پارامتر مشخصات فنی
نوع قطعه IR LED (دیود نورانی مادون قرمز)
ولتاژ کاری 1.2V تا 1.5V (جریان مستقیم)
جریان مجاز 20mA تا 100mA (بسته به مدل)
طول موج 850nm تا 950nm (معمولاً 940nm)
توان خروجی 10mW تا 100mW
زاویه تابش 20 تا 40 درجه
مقاومت سری 100Ω تا 330Ω (برای 5V)
فرکانس مدولاسیون 38kHz (متداول‌ترین)
ابعاد 5mm (قطر استاندارد)

گیرنده مادون قرمز (IR Receiver Module):

پارامتر مشخصات فنی
مدل متداول VS1838B، TSOP1738، TSOP38238
ولتاژ کاری 2.7V تا 5.5V
جریان مصرف 0.5mA تا 1.5mA
فرکانس مرکزی 38kHz (قابل تشخیص 36kHz تا 40kHz)
فاصله دریافت تا 10 متر (در شرایط ایده‌آل)
زاویه دریافت ±45 درجه
خروجی دیجیتال (Active LOW)
پین‌ها OUT، VCC، GND (3 پین)
ابعاد ماژول 18mm × 10mm × 7mm

پین‌های ماژول گیرنده IR

پین ماژول نام رنگ سیم عملکرد
OUT خروجی سیگنال زرد خروجی دیجیتال (فعال LOW)
VCC تغذیه مثبت قرمز 3.3V تا 5V
GND زمین سیاه منفی مدار

نحوه کارکرد سیستم IR

اصل کار:

  1. مدولاسیون: سیگنال دیجیتال روی فرکانس حامل 38kHz سوار می‌شود.

  2. ارسال: IR LED پالس‌های نور مادون قرمز مدوله شده را ارسال می‌کند.

  3. انتشار: نور IR در هوا منتشر می‌شود (نیاز به خط دید مستقیم دارد).

  4. دریافت: گیرنده IR نور را دریافت و دمدوله می‌کند.

  5. خروجی: گیرنده سیگنال دیجیتال اصلی را تولید می‌کند.

دلایل مدولاسیون 38kHz:

  • کاهش تأثیر نور محیط (نور معمولی 50Hz/60Hz است)

  • افزایش فاصله ارتباط

  • کاهش مصرف انرژی

  • جلوگیری از تداخل


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

سیم‌کشی:

IR LED آند ---> مقاومت 100Ω-330Ω ---> آردوینو D3
IR LED کاتد ---> آردوینو GND

کد نمونه ارسال سیگنال:

// فرستنده مادون قرمز - ارسال کد ساده
#include <IRremote.h>

const int irTransmitterPin = 3; // پین متصل به فرستنده
IRsend irsend; // ایجاد شیء فرستنده

void setup() {
  Serial.begin(9600);
  Serial.println("فرستنده IR آماده است");
  Serial.println("---------------------");
}

void loop() {
  // ارسال کد NEC (معمول‌ترین پروتکل)
  Serial.println("ارسال کد: 0x00FF6897 (کد دکمه 0 ریموت)");
  irsend.sendNEC(0x00FF6897, 32); // آدرس و تعداد بیت
  
  delay(2000); // انتظار 2 ثانیه
  
  // ارسال کد Sony
  Serial.println("ارسال کد سونی: 0x01A2");
  irsend.sendSony(0x01A2, 12);
  
  delay(2000);
  
  // ارسال کد RAW (داده خام)
  Serial.println("ارسال داده RAW");
  unsigned int rawData[67] = {
    9000, 4500,  // هدر
    560, 560, 560, 560, 560, 560, 560, 560, // داده
    // ... ادامه کدهای زمان
  };
  irsend.sendRaw(rawData, 67, 38); // ارسال با فرکانس 38kHz
  
  delay(3000);
}

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

سیم‌کشی:

گیرنده IR OUT ---> آردوینو D11
گیرنده IR VCC ---> آردوینو 5V
گیرنده IR GND ---> آردوینو GND

کد نمونه دریافت سیگنال:

// گیرنده مادون قرمز - دریافت کدهای ریموت
#include <IRremote.h>

const int irReceiverPin = 11; // پین متصل به گیرنده
IRrecv irrecv(irReceiverPin);
decode_results results;

void setup() {
  Serial.begin(9600);
  Serial.println("گیرنده IR آماده است");
  Serial.println("-------------------");
  
  irrecv.enableIRIn(); // شروع دریافت
}

void loop() {
  if (irrecv.decode(&results)) {
    // نمایش اطلاعات دریافتی
    Serial.println("سیگنال IR دریافت شد!");
    Serial.print("نوع پروتکل: ");
    
    switch(results.decode_type) {
      case NEC:
        Serial.println("NEC");
        break;
      case SONY:
        Serial.println("SONY");
        break;
      case RC5:
        Serial.println("RC5");
        break;
      case RC6:
        Serial.println("RC6");
        break;
      case UNKNOWN:
        Serial.println("UNKNOWN");
        break;
    }
    
    Serial.print("مقدار: 0x");
    Serial.println(results.value, HEX);
    Serial.print("تعداد بیت: ");
    Serial.println(results.bits);
    Serial.println("-------------------");
    
    // بررسی کدهای خاص
    checkRemoteButton(results.value);
    
    irrecv.resume(); // آماده دریافت بعدی
  }
  delay(100);
}

// تابع بررسی دکمه‌های ریموت
void checkRemoteButton(unsigned long code) {
  switch(code) {
    case 0x00FF6897:
      Serial.println(">>> دکمه 0 فشرده شد");
      break;
    case 0x00FF30CF:
      Serial.println(">>> دکمه 1 فشرده شد");
      break;
    case 0x00FF18E7:
      Serial.println(">>> دکمه 2 فشرده شد");
      break;
    case 0x00FF7A85:
      Serial.println(">>> دکمه 3 فشرده شد");
      break;
    case 0x00FF10EF:
      Serial.println(">>> دکمه 4 فشرده شد");
      break;
    case 0x00FF38C7:
      Serial.println(">>> دکمه 5 فشرده شد");
      break;
    case 0x00FF5AA5:
      Serial.println(">>> دکمه 6 فشرده شد");
      break;
    case 0x00FF42BD:
      Serial.println(">>> دکمه 7 فشرده شد");
      break;
    case 0x00FF4AB5:
      Serial.println(">>> دکمه 8 فشرده شد");
      break;
    case 0x00FF52AD:
      Serial.println(">>> دکمه 9 فشرده شد");
      break;
  }
}

کاربردهای عملی ماژول IR

۱. کنترل از راه دور (ریموت کنترل):

  • ساخت ریموت کنترل اختصاصی برای پروژه‌ها

  • کنترل ربات‌ها و خودروهای اسباب‌بازی

  • ریموت سیستم‌های صوتی و تصویری DIY

۲. ارتباط بی‌سیم بین دستگاه‌ها:

  • ارسال داده بین دو آردوینو

  • کنترل بی‌سیم LED، موتور، سروو

  • ارسال دستورات به سیستم‌های تعبیه‌شده

۳. پروژه‌های امنیتی:

  • سیستم‌های کنترل دسترسی IR

  • آلارم‌های بی‌سیم

  • ارسال هشدار از راه دور

۴. اتوماسیون خانگی:

  • کنترل لامپ‌ها و وسایل برقی

  • پرده‌های برقی کنترل از راه دور

  • سیستم‌های آبیاری هوشمند

۵. پروژه‌های آموزشی:

  • آموزش اصول ارتباط بی‌سیم

  • آزمایش‌های فیزیک نور

  • کارگاه‌های الکترونیک دیجیتال

۶. صنعت و سرگرمی:

  • کنترل تجهیزات نمایشگاهی

  • سیستم‌های تعاملی موزه‌ها

  • کنسول‌های بازی DIY


پروژه عملی: ساخت ریموت کنترل 4 کانال

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

  • برد آردوینو Nano (برای فرستنده)

  • برد آردوینو Uno (برای گیرنده)

  • ماژول فرستنده IR + مقاومت 220Ω

  • ماژول گیرنده IR

  • 4 عدد دکمه فشاری

  • 4 عدد رله یا LED برای تست

  • برد بورد و سیم‌های جامپر

کد فرستنده (ریموت کنترل):

// فرستنده - ریموت کنترل 4 دکمه‌ای
#include <IRremote.h>

const int irTxPin = 3;
const int button1 = 4;
const int button2 = 5;
const int button3 = 6;
const int button4 = 7;

IRsend irsend;
unsigned long lastSendTime = 0;
const unsigned long debounceDelay = 200;

void setup() {
  pinMode(button1, INPUT_PULLUP);
  pinMode(button2, INPUT_PULLUP);
  pinMode(button3, INPUT_PULLUP);
  pinMode(button4, INPUT_PULLUP);
  
  Serial.begin(9600);
  Serial.println("ریموت کنترل 4 کانال آماده");
}

void loop() {
  // بررسی دکمه 1
  if (digitalRead(button1) == LOW && millis() - lastSendTime > debounceDelay) {
    irsend.sendNEC(0x00FFA25D, 32); // کد کانال 1
    Serial.println("کانال 1 فعال شد");
    lastSendTime = millis();
    delay(50);
  }
  
  // بررسی دکمه 2
  if (digitalRead(button2) == LOW && millis() - lastSendTime > debounceDelay) {
    irsend.sendNEC(0x00FF629D, 32); // کد کانال 2
    Serial.println("کانال 2 فعال شد");
    lastSendTime = millis();
    delay(50);
  }
  
  // بررسی دکمه 3
  if (digitalRead(button3) == LOW && millis() - lastSendTime > debounceDelay) {
    irsend.sendNEC(0x00FFE21D, 32); // کد کانال 3
    Serial.println("کانال 3 فعال شد");
    lastSendTime = millis();
    delay(50);
  }
  
  // بررسی دکمه 4
  if (digitalRead(button4) == LOW && millis() - lastSendTime > debounceDelay) {
    irsend.sendNEC(0x00FF22DD, 32); // کد کانال 4
    Serial.println("کانال 4 فعال شد");
    lastSendTime = millis();
    delay(50);
  }
}

کد گیرنده (کنترل بارها):

// گیرنده - کنترل 4 رله با ریموت
#include <IRremote.h>

const int irRxPin = 11;
const int relay1 = 2;
const int relay2 = 3;
const int relay3 = 4;
const int relay4 = 5;

IRrecv irrecv(irRxPin);
decode_results results;

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(relay3, OUTPUT);
  pinMode(relay4, OUTPUT);
  
  Serial.begin(9600);
  Serial.println("سیستم کنترل رله با IR آماده");
  
  irrecv.enableIRIn();
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.print("کد دریافتی: 0x");
    Serial.println(results.value, HEX);
    
    // پردازش کدهای دریافتی
    switch(results.value) {
      case 0x00FFA25D: // کانال 1
        digitalWrite(relay1, !digitalRead(relay1));
        Serial.println("رله 1 تغییر وضعیت داد");
        break;
        
      case 0x00FF629D: // کانال 2
        digitalWrite(relay2, !digitalRead(relay2));
        Serial.println("رله 2 تغییر وضعیت داد");
        break;
        
      case 0x00FFE21D: // کانال 3
        digitalWrite(relay3, !digitalRead(relay3));
        Serial.println("رله 3 تغییر وضعیت داد");
        break;
        
      case 0x00FF22DD: // کانال 4
        digitalWrite(relay4, !digitalRead(relay4));
        Serial.println("رله 4 تغییر وضعیت داد");
        break;
    }
    
    irrecv.resume();
  }
  delay(100);
}

پروتکل‌های متداول ارتباط IR

۱. پروتکل NEC:

  • پرکاربردترین پروتکل در ریموت‌ها

  • آدرس 8 بیتی + دستور 8 بیتی

  • مدولاسیون PWM با فرکانس 38kHz

  • کد تکرار 110ms

۲. پروتکل Sony SIRC:

  • 12، 15 یا 20 بیتی

  • فرکانس حامل 40kHz

  • استفاده در دوربین‌های سونی

۳. پروتکل RC5:

  • 14 بیتی (1 بیت شروع + 1 بیت toggle + 5 بیت آدرس + 6 بیت دستور)

  • کدگذاری Manchester

  • فرکانس 36kHz

۴. پروتکل RC6:

  • نسخه پیشرفته RC5

  • پشتیبانی از 20 بیت داده

  • استفاده در ریموت‌های مدیا

۵. پروتکل RAW:

  • داده‌های زمان‌بندی خام

  • انعطاف‌پذیری کامل

  • نیاز به حافظه بیشتر


نحوه افزایش فاصله ارتباط

راهکارهای افزایش برد:

  1. استفاده از مقاومت مناسب: مقاومت سری کمتر برای جریان بیشتر

  2. استفاده از چند LED: اتصال موازی یا سری چند LED

  3. عدسی متمرکزکننده: استفاده از عدسی یا رفلکتور

  4. بهینه‌سازی کد: کاهش نرخ داده برای افزایش حساسیت

  5. حذف نویز: فیلتر کردن نور محیط

محاسبه مقاومت مناسب:

مقاومت (Ω) = (ولتاژ تغذیه - ولتاژ LED) / جریان LED
مثال برای 5V و LED با 1.2V و 50mA:
(5 - 1.2) / 0.05 = 76Ω => 75Ω یا 82Ω استاندارد

نکات حیاتی برای نصب و استفاده

⚠️ نکات فنی مهم:

  1. خط دید مستقیم: عدم وجود مانع بین فرستنده و گیرنده

  2. دور از نور مستقیم خورشید: نور خورشید حاوی IR قوی است

  3. زاویه‌دهی صحیح: همراستا بودن فرستنده و گیرنده

  4. فاصله مناسب: معمولاً تا 10 متر در شرایط ایده‌آل

  5. خازن فیلتر: 100μF نزدیک تغذیه گیرنده برای کاهش نویز

🔧 عیب‌یابی سریع:

  • عدم دریافت: خط دید را بررسی کنید، فاصله را کاهش دهید

  • دریافت نویز: از نور مستقیم دور کنید، خازن فیلتر اضافه کنید

  • برد کم: مقاومت سری را کاهش دهید، چند LED استفاده کنید

  • تداخل: فرکانس‌های مختلف را امتحان کنید (36kHz، 38kHz، 40kHz)


پکیج‌های خرید پیشنهادی

پکیج مبتدی (آموزشی):

  • فرستنده IR LED 5mm (5 عدد)

  • گیرنده IR ماژول (2 عدد)

  • مقاومت 100Ω، 220Ω، 330Ω (هرکدام 10 عدد)

  • آردوینو Nano

  • دکمه فشاری (4 عدد)

  • سیم‌های جامپر

پکیج حرفه‌ای (پروژه‌های پیشرفته):

  • فرستنده IR پرقدرت 100mA (3 عدد)

  • گیرنده IR با حساسیت بالا (3 عدد)

  • برد آردوینو Uno

  • ماژول رله 4 کانال

  • منبع تغذیه 5V 2A

  • آنتن رفلکتور برای IR LED

پکیج صنعتی (اتصال‌های طولانی):

  • فرستنده IR Laser (برد تا 50 متر)

  • گیرنده IR با فیلتر نوری باند باریک

  • مبدل سطح ولتاژ

  • کابل‌های شیلددار

  • محفظه ضد آب و غبار


سوالات متداول (FAQ)

✅ حداکثر سرعت انتقال داده چقدر است؟

حداکثر 2400 بیت بر ثانیه (برای پروتکل‌های استاندارد)

✅ آیا می‌توانم برای انتقال صدا استفاده کنم؟

خیر، پهنای باند IR برای صدا کافی نیست. از بلوتوث یا WiFi استفاده کنید.

✅ تفاوت IR با RF چیست؟

IR: نیاز به خط دید، برد کوتاه، ارزان
RF: نیاز به خط دید ندارد، برد طولانی، گران‌تر

✅ آیا از پنجره شیشه‌ای عبور می‌کند؟

بله، شیشه برای IR شفاف است (مگر IR-block coating داشته باشد).

✅ طول عمر IR LED چقدر است؟

بیش از 50,000 ساعت کار مداوم

✅ آیا می‌توانم چند گیرنده را همزمان استفاده کنم؟

بله، اما هر گیرنده باید به پین جداگانه متصل شود.

✅ بهترین فرکانس برای ارتباط چیست؟

38kHz متداول‌ترین و بهترین پشتیبانی

✅ چگونه از تداخل ریموت‌های مختلف جلوگیری کنم؟

استفاده از کدهای اختصاصی یا پروتکل‌های مختلف


مقایسه با تکنولوژی‌های ارتباطی دیگر

تکنولوژی مادون قرمز (IR) بلوتوث WiFi RF 433MHz
برد تا 10 متر تا 10 متر تا 50 متر تا 100 متر
نرخ داده کم (تا 2400bps) متوسط (1Mbps) بالا (54Mbps+) کم (تا 10kbps)
مصرف انرژی بسیار پایین متوسط بالا پایین
هزینه بسیار کم متوسط بالا کم
پیچیدگی ساده متوسط پیچیده متوسط
خط دید لازم بله خیر خیر خیر
امنیت ضعیف خوب عالی ضعیف

پروژه‌های خلاقانه با IR

۱. انتقال داده سریال بی‌سیم:

  • ارسال متن بین دو کامپیوتر

  • انتقال داده‌های سنسور بی‌سیم

  • لاگر داده بی‌سیم

۲. سیستم حضور و غیاب IR:

  • کارت‌های IR برای حضور و غیاب

  • ثبت زمان ورود و خروج

  • سیستم‌های کنترل تردد

۳. ارتباط بین گوشی و آردوینو:

  • استفاده از IR گوشی‌های قدیمی

  • کنترل پروژه‌ها با ریموت گوشی

  • اپلیکیشن کنترل اختصاصی

۴. هنر تعاملی:

  • نقاشی‌های دیجیتال با کنترل IR

  • سینماهای تعاملی

  • نصب‌های هنری واکنش‌گرا


چرا ماژول IR را از ما بخرید؟

✅ کیفیت تضمین شده: تست عملکرد کامل هر ماژول
✅ کیت کامل: ارائه همراه با مقاومت‌های مورد نیاز
✅ پشتیبانی فنی: راهنمای نصب، کدنویسی و عیب‌یابی
✅ آموزش جامع: کدهای نمونه آماده + شماتیک کامل
✅ قیمت رقابتی: ارزان‌تر از بازار با کیفیت بهتر
✅ تنوع محصول: مدل‌های مختلف برای کاربردهای گوناگون
✅ تحویل سریع: ارسال در روز کاری برای تهران