📱 ماموریت ۳۰: کنترل از راه دور

کد هر دکمه‌ی ریموت رو بخون و با اون LED رو روشن و خاموش کن.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ IR Receiver (TSOP) (VCC)
  2. IR Receiver (TSOP) (GND) ⟷ Arduino Uno (GND1)
  3. IR Receiver (TSOP) (OUT) ⟷ Arduino Uno (D11)
  4. Arduino Uno (D3) ⟷ Resistor (220Ω) (PIN1)
  5. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  6. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  7. Arduino Uno (D5) ⟷ Resistor (220Ω) (PIN1)
  8. Resistor (220Ω) (PIN2) ⟷ LED (Green) (ANODE)
  9. LED (Green) (CATHODE) ⟷ Arduino Uno (GND2)
  10. Arduino Uno (D6) ⟷ Resistor (220Ω) (PIN1)
  11. Resistor (220Ω) (PIN2) ⟷ LED (Blue) (ANODE)
  12. LED (Blue) (CATHODE) ⟷ Arduino Uno (GND2)

کد

#include <IRremote.h>

const int irPin = 11, red = 3, green = 5, blue = 6;

void setup() {
  IrReceiver.begin(irPin);
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (!IrReceiver.decode()) return;

  long code = IrReceiver.decodedIRData.decodedRawData;
  Serial.println(code, HEX);

  if (code == 0xFF30CF) {
    digitalWrite(red, HIGH); digitalWrite(green, LOW); digitalWrite(blue, LOW);
  } else if (code == 0xFF18E7) {
    digitalWrite(red, LOW); digitalWrite(green, HIGH); digitalWrite(blue, LOW);
  } else if (code == 0xFF7A85) {
    digitalWrite(red, LOW); digitalWrite(green, LOW); digitalWrite(blue, HIGH);
  }

  IrReceiver.resume();
}

ماموریت‌های مشابه

🔢

ماموریت ۲۹: رمز با کیپد

⚙️

ماموریت ۳۱: موتور با ترانزیستور

🌈

ماموریت ۲۸: رنگین‌کمان

💡

ماموریت ۳۲: روشن کردن با رله

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها