Arduino ve Kızılötesi (IR) Kumanda ile Kablosuz LED Kontrolü

👤 Yazar: ozcan 📅 Tarih: 10.07.2026 10:27 👁️ Görüntüleme: 48

Arduino ve Kızılötesi (IR) Kumanda ile Kablosuz LED Kontrolü

Evdeki televizyon, klima veya ses sistemi kumandalarınızı kullanarak odanızdaki ışıkları kablosuz olarak kontrol etmek ister miydiniz? Bu rehberde, oldukça ucuz ve kullanışlı bir bileşen olan IR (Kızılötesi) Alıcı Göz modülünü kullanacağız. Elimizdeki herhangi bir uzaktan kumandanın tuş kodlarını (HEX formatında) Arduino'muza öğreterek, 3 farklı LED’i tek tek veya hep birlikte nasıl açıp kapatabileceğimizi adım adım inceleyeceğiz.

Gerekli Malzemeler

  • Arduino Uno
  • 1 Adet IR (Kızılötesi) Alıcı Göz (Örn: VS1838B)
  • 3 Adet LED (Farklı renklerde olması takibi kolaylaştırır)
  • 3 Adet 220 Ohm Direnç
  • Herhangi bir ev kumandası (TV, uydu alıcısı vb.)
  • Breadboard ve Jumper Kablolar

1. IR Alıcı ve LED Bağlantı Şeması

Kızılötesi alıcı gözün genellikle önden bakıldığında 3 pini bulunur: Sinyal (Data), GND ve VCC. Bağlantıları yaparken bu sıralamaya çok dikkat edilmelidir. LED'leri ise dirençleri ile birlikte 11, 12 ve 13 numaralı pinlere bağlıyoruz.

Bileşen ve Pini Arduino Uno Pini
IR Alıcı Data (Sinyal/Out) pini Pin 8
IR Alıcı GND (-) pini GND
IR Alıcı VCC (+) pini 5V veya 3.3V (Modüle göre değişir)
1. LED (Artı Ucu) Pin 11
2. LED (Artı Ucu) Pin 12
3. LED (Artı Ucu) Pin 13

arduino ir led aç kapa devresi

2. Kritik Adım: IRremote Kütüphane Versiyonu Notu

Bu projenin çalışması için Arduino IDE programınıza IRremote kütüphanesini kurmanız gerekir. Kütüphane yöneticisinden kurabilirsiniz. Eğer kütüphanenin çok yeni versiyonlarında (v3.0 ve sonrası) decode_results fonksiyonunun kaldırıldığına dair bir hata alırsanız, kütüphane yöneticisinden sürüm olarak v2.8.0 veya v2.x sürümlerinden birini seçip "Değiştir/Kur" diyerek bu klasik ve kararlı kod yapısını pürüzsüzce çalıştırabilirsiniz.


3. Arduino Kod Blokları

Aşağıdaki kodu doğrudan kopyalayıp Arduino kartınıza yükleyebilirsiniz. Kod içerisinde tanımlanan tuş kodları (HEX) örnek olarak verilmiştir. Kendi kumandanızın kodlarını nasıl ekleyeceğiniz çözümler kısmında anlatılmıştır.

#include <IRremote.h> 

IRrecv irrecv(8); // IR alıcının data pini Arduino Pin 8'e bağlı
decode_results results;

int Led1 = 11, Led2 = 12, Led3 = 13;

// Kumanda üzerindeki tuşların benzersiz HEX kodları tanımlanıyor
#define TUS1 0x1CE36897
#define TUS2 0x1CE3A25D
#define TUS3 0x1CE36A95
#define TUS4 0x1CE3EA15
#define TUS5 0x1CE30AF5
#define TUS6 0x1CE3AA55
#define PowerTUS 0x1CE3F00F
#define MuteTUS  0x1CE332CD

void setup() {
  irrecv.enableIRIn(); // IR alıcıyı aktif ediyoruz
  pinMode(Led1, OUTPUT);
  pinMode(Led2, OUTPUT);
  pinMode(Led3, OUTPUT);
}

void loop() {
  if (irrecv.decode(&results)){ 
    // Eğer kumandadan bir tuşa basıldığı algılandıysa
    
    if(results.value == TUS1)      // Led 1 Aç
      digitalWrite(Led1, HIGH);    
    else if(results.value == TUS2) // Led 2 Aç
      digitalWrite(Led2, HIGH);    
    else if(results.value == TUS3) // Led 3 Aç
      digitalWrite(Led3, HIGH);    
    else if(results.value == TUS4) // Led 1 Kapat
      digitalWrite(Led1, LOW);        
    else if(results.value == TUS5) // Led 2 Kapat
      digitalWrite(Led2, LOW);    
    else if(results.value == TUS6) // Led 3 Kapat
      digitalWrite(Led3, LOW);     
    else if(results.value == PowerTUS){ // Hepsini Aç
      digitalWrite(Led1, HIGH);
      digitalWrite(Led2, HIGH);
      digitalWrite(Led3, HIGH);
    }    
    else if(results.value == MuteTUS){ // Hepsini Kapat
      digitalWrite(Led1, LOW); 
      digitalWrite(Led2, LOW);
      digitalWrite(Led3, LOW);
    }
    
    irrecv.resume(); // Daha sonraki tuş basımları için alıcıyı hazırla ve bekle
  } 
}

Sık Karşılaşılan Sorunlar ve Çözümleri

1. Kendi Kumandamın Tuş Kodlarını (HEX) Nasıl Öğrenebilirim?

Çözüm: Her kumandanın sinyal kodu farklıdır. Kendi kumandanızı uydurmak için koda Serial.begin(9600); ekleyin ve loop döngüsünün hemen başına Serial.println(results.value, HEX); yazarak seri port ekranını açın. Kumandanızdaki tuşlara bastıkça ekrana 1CE36897 gibi kodlar gelecektir. İşte o kodların başına 0x koyarak kodun en üstündeki #define tanımlamalarıyla değiştirmeniz yeterlidir.

2. Tuşa Basıyorum Ama Ekranda Sürekli "FFFFFFFF" Çıkıyor

Çözüm: IR kütüphanesinde bir tuşa elinizi basılı tuttuğunuzda, kodun sürekli tekrar etmemesi için kütüphane otomatik olarak "tekrar kodu" yani FFFFFFFF sinyalini üretir. Tuşları tek tek algılatmak için parmağınızı tuşa basıp hemen çekmeniz gerekir.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1