Arduino IR Kumanda ile RGB Led Kontrol Projesi

Bu projeyle aslında son günlerde karşılaşmış olabilirsiniz.Artık kızılötesi kumanda  ile açıp kapayabileceğimiz , ışığın rengini değiştirebileceğimiz bu projemizle aynı mantığa sahip evlerinizde dekoratif amaçlı kullanmanız için satışa  çıkarılan led ışıklar bulunmakta.Hadi o zaman kendi led ışığımızı yapmayı öğrenelim.

Malzemeler

Arduino Uno

Bradboard

IR alıcı kumanda ve IR sensörü

9 adet erkek erkek jumper kablo

1 adet RGB led

3 adet 220  Ω direnç

IR kumanda : Günlük hayatımızda bolce yeri olan IR kumandalar , örneğin televizyonumuzun kumandası gibi , üzerlerinde bulunan led lambasının belirli bir frekansta yanıp sönmesiyle o frekansa atanmış bilgiyi ileterek cihaza istediğimiz komutu yaptırır az sonra led ışıklarımızı yakacağımız gibi. Bu projemizde kullanacağımız kumandamız 38kHz’dir ve çoğu kumanda için de bu değer aynıdır.

Çalışma Şekli

Kızılötesi verici olan IR kumanda veriyi ışık yoluyla iletir. IR sensör ise kumandanın yaydığı kızılötesi ışınları algılar ve bu arduinonun okuyabileceği şekilde elektriksel sinyallere dönüştürür.Kumanda göndermek istediği sinyal uzunluğu boyunca ledi 38kHz olacak şekilde yakıp söndürür bu sayede IR sensörün üzerindeki alıcı göz bu sinyali çevredeki diğer sinyallerden ayırt eder.Yani kumanda üzerindeki led sürekli açık durmak yerine 38kHz hızında yanıp sönmek zorundadır.

Devre

  1. Adım: RGB ledimizi breadboarda yerleştiriyoruz. (Unutmayalım ki üzerlerinde bulunan uzun bacağın yani artı pininin yeri önemli.)

             Eksi olan bacaklara yukarıda devre fotoğrafımızda ki gibi dirençlerimizi ekliyoruz.Ve sonrasında dirençlerimizin boştaki bacaklaklarını sırasıyla arduino üzrendeki 2,3 ve 4. pin ile birleştiriyoruz.

            Ve RGB ledinin artı bacağını breadboard üzerindeki eksiyle birleştirip RGB ledin bağlantılarını tamamlıyoruz.

  1. Adım:IR sensörümüzü breadboarda yerleştiriyoruz.

 Görselde gözüktüğü gibi artı bacağını breadboard üzerindeki artı ile eksi bacağını eksi ile birleştiriyouruz.

   Sonrasında kalan bacağı ise arduino üzerinde bulunan 11 numaralı pinle birleştiriyoruz.

   Ve sonra olarak arduinomuzundan breadboarda enerji akışı olması için arduino üzerindeki 5V pinini breadboard da artı GND pinini ise eksi ile birleştiriyoruz.

Devremizin son hali:

 

   Kod

(Dikkat! Kodumuzun çalışması için kızıl ötesi kumanda kullanacağımızdan kodumuza öncelikle IRremote kütüphanesini eklemeliyiz.)

 

#include <IRremote.h>  // Kütüphane Eklendi

 

int RECV_PIN = 11;   

IRrecv irrecv(RECV_PIN); 

 

decode_results results;  

                        

void setup()

{

  Serial.begin(9600); //ekrana yazmak için

                                  // seri haberleşme başlatıldı

  irrecv.enableIRIn(); //IR haberleşme başlatıldı

  pinMode(2,OUTPUT);   //RGB ledi yakmak için çıkış pinleri tanımlandı

  pinMode(3,OUTPUT);

  pinMode(4,OUTPUT);

}

void loop() {

  if (irrecv.decode(&results)) { //sinyal algılandığı zaman 

   Serial.println(results.value, HEX); //ekrana HEX kodunu yaz

   

   if(results.value==0xFD08F7){  //1 tuşuna basınca kırmızı

   digitalWrite(2,LOW);// her sinyal okuma kodlarında yanan ışık varsa söndürülsün

   digitalWrite(3,LOW);// yoksa renk karışımı olur

   digitalWrite(4,LOW);

   // delay(250);

   digitalWrite(2,HIGH); 

   }

        

   else if(results.value==0xFD8877){  //2 tuşuna basınca mavi

   digitalWrite(2,LOW);

   digitalWrite(3,LOW);

   digitalWrite(4,LOW);

   digitalWrite(3,HIGH);

   }

            

    else if(results.value==0xFD48B7){  // 3 tuşuna basınca yeşil yansın

    digitalWrite(2,LOW);

    digitalWrite(3,LOW);

    digitalWrite(4,LOW);

    digitalWrite(4,HIGH);

    }

     else if(results.value==0xFD28D7){ //4 tuşuna basınca pembe

        digitalWrite(2,LOW);

        digitalWrite(3,LOW);

        digitalWrite(4,LOW);

        digitalWrite(3,HIGH);

        digitalWrite(2,HIGH);

       }

    else if(results.value==0xFDA857){ //5 tuşuna basında turkuaz

       digitalWrite(2,LOW);

       digitalWrite(3,LOW);

       digitalWrite(4,LOW);

       digitalWrite(3,HIGH);

       digitalWrite(4,HIGH);

      }

     else if(results.value==0xFD6897){ //6 tuşuna basınca sarı

        digitalWrite(2,LOW);

        digitalWrite(3,LOW);

        digitalWrite(4,LOW);

        digitalWrite(2,HIGH);

        digitalWrite(4,HIGH);

       }

    else if(results.value==0xFD9867){ //8 tuşuna basınca beyaz ışık yanacak

        digitalWrite(2,HIGH);

        digitalWrite(4,HIGH);

        digitalWrite(3,HIGH);

       }

         

       else {  // diğer tüm tuşlarda ledler sönsün

      digitalWrite(2,LOW);

      digitalWrite(3,LOW);

      digitalWrite(4,LOW);

    }

       

    irrecv.resume();             

  }

  delay(100);                  

                             

}

   

   

   

   

3 thoughts on “Arduino IR Kumanda ile RGB Led Kontrol Projesi”

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top