📡 گیرنده‌ی مادون قرمز (IR Receiver (TSOP / VS1838B))

اسم انگلیسیIR Receiver (TSOP / VS1838B)
در ووکوی (Wokwi)wokwi-ir-receiver
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

گیرنده‌ی مادون قرمز (IR Receiver) قطعه‌ی سه‌پایه‌ی کوچکی مثل TSOP38238 یا VS1838B است که نور مادون قرمز چشمک‌زن ریموت را می‌گیرد و به یک سیگنال دیجیتال تمیز تبدیل می‌کند. با یک گیرنده و کتابخانه‌ی IRremote، هر ریموت خانگی فرمان آردوینو می‌شود: روشن و خاموش کردن چراغ، راندن ربات، تنظیم دما یا ورق زدن منوی LCD. در این صفحه گیرنده را همراه ریموت مجازی ووکوی می‌چینیم و یک LED را با سه دکمه در سه حالت کنترل می‌کنیم.

گیرنده IR در ووکوی (Wokwi)

در ووکوی گیرنده با شناسه‌ی wokwi-ir-receiver و ریموت با wokwi-ir-remote اضافه می‌شوند. گیرنده سه پایه دارد: GND، VCC و DAT (خروجی داده). ریموت سیم ندارد؛ وقتی شبیه‌سازی اجرا شد، روی دکمه‌هایش کلیک کن تا فرمان به گیرنده برسد.

{
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-ir-receiver", "id": "ir1", "top": -110, "left": 160, "attrs": {} },
    { "type": "wokwi-ir-remote", "id": "remote1", "top": -40, "left": 380, "attrs": {} }
  ],
  "connections": [
    [ "ir1:GND", "uno:GND.1", "black", [] ],
    [ "ir1:VCC", "uno:5V", "red", [] ],
    [ "ir1:DAT", "uno:2", "green", [] ]
  ]
}
پایه در ووکویوصل به
ir1:GNDuno:GND.1
ir1:VCCuno:5V
ir1:DATuno:2
remote1بدون سیم؛ با کلیک روی دکمه‌ها کار می‌کند

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

سیم‌کشی با آردوینو

پایه‌ی قطعهوصل به
GND (یا −)GND
VCC (یا +)5V
DAT / OUT (یا S)پین 2
LED نشانگرLED داخلی برد روی پین 13

ترتیب پایه‌ها در گیرنده‌ی تنها و ماژول‌های آماده فرق دارد؛ قبل از وصل کردن، برگه‌ی مشخصات یا نوشته‌ی روی ماژول را ببین. اگر گیرنده‌ی تنها داری و ریموت از دور خوب جواب نمی‌دهد، یک خازن ۱۰ میکروفاراد بین VCC و GND نزدیک گیرنده نویز تغذیه را کم می‌کند.

کد نمونه

کتابخانه‌ی IRremote نسخه‌ی ۴ را از Library Manager نصب کن (در ووکوی، اسمش را به فهرست کتابخانه‌های پروژه اضافه کن). برنامه هر فرمان را با کد هگز چاپ می‌کند و سه دکمه را به سه حالت LED وصل می‌کند: روشن، خاموش و چشمک‌زن. فرمان‌های تکراری، یعنی وقتی دکمه را نگه می‌داری، نادیده گرفته می‌شوند تا هر فشار فقط یک فرمان باشد.

// IR remote: key 1 = LED on, key 2 = LED off, key 3 = blink.
#include <IRremote.hpp>

const int IR_PIN = 2;

// Command codes - check yours in the Serial Monitor first.
// The Wokwi virtual remote sends 1 = 0x30, 2 = 0x18, 3 = 0x7A.
const uint8_t KEY_ON = 0x30;
const uint8_t KEY_OFF = 0x18;
const uint8_t KEY_BLINK = 0x7A;

int mode = 0;                 // 0 = off, 1 = on, 2 = blink
bool blinkState = false;
unsigned long lastBlink = 0;

void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
  IrReceiver.begin(IR_PIN);
}

void loop() {
  if (IrReceiver.decode()) {
    uint8_t cmd = IrReceiver.decodedIRData.command;
    bool repeat = IrReceiver.decodedIRData.flags & IRDATA_FLAGS_IS_REPEAT;
    if (!repeat) {
      Serial.print("command 0x");
      Serial.println(cmd, HEX);
      if (cmd == KEY_ON) mode = 1;
      else if (cmd == KEY_OFF) mode = 0;
      else if (cmd == KEY_BLINK) mode = 2;
    }
    IrReceiver.resume();      // ready for the next button
  }

  if (mode == 2) {
    if (millis() - lastBlink >= 300) {
      lastBlink = millis();
      blinkState = !blinkState;
      digitalWrite(LED_BUILTIN, blinkState ? HIGH : LOW);
    }
  } else {
    digitalWrite(LED_BUILTIN, mode == 1 ? HIGH : LOW);
  }
}

اگر ریموت واقعی‌ات کدهای دیگری چاپ کرد، فقط سه ثابت بالای برنامه را با عددهای خودت عوض کن.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

ریموت ووکوی را چطور به گیرنده وصل کنم؟

لازم نیست وصلش کنی. wokwi-ir-remote سیم ندارد؛ کافی است گیرنده‌ی wokwi-ir-receiver در مدار باشد و حین اجرا روی دکمه‌های ریموت کلیک کنی.

چرا کد دکمه‌های ریموت من با مثال فرق دارد؟

هر ریموت کدهای خودش را دارد. اول برنامه را اجرا کن، دکمه‌ها را بزن و کدی را که در سریال مانیتور چاپ می‌شود در ثابت‌های بالای برنامه بنویس.

IRremote با tone تداخل دارد؟

روی آردوینو اونو بله، چون هر دو از تایمر ۲ استفاده می‌کنند. اگر صدا هم لازم داری، از بازر فعال با digitalWrite استفاده کن.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: گیرنده‌ی مادون قرمز آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

📡

کنترل آردوینو با ریموت کنترل مادون قرمز (IRremote نسخه‌ی جدید)

قطعه‌های دیگرِ سنسورها

✋

سنسور فشار FSR

Force Sensitive Resistor (FSR)

💨

سنسور گاز MQ-2

MQ-2 Gas Sensor

📳

سنسور لرزش SW-420

SW-420 Vibration Sensor

🧲

سنسور اثر هال

Hall Effect Sensor (A3144)

🚪

رید سوییچ (سوییچ ریدی)

Reed Switch

🌱

سنسور رطوبت خاک

Soil Moisture Sensor

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

گیرنده‌ی مادون قرمز را در شبیه‌ساز امتحان کن 🚀