IR Kumanda ile led RGB led kontrolü

Published by Şahin Yağlı on

Arduino başlanğıç yada geliştirme setlerinin içerisinde kumanda olduğunu görüyoruz. İnternette bununla ilgili pek fazla proje de yok. Oto teyplerinde FM transimitter gibi cihazlarda da aynı kumanda kullanılmaktadır.  Bende bu kumandayı kullanarak RGB ledimizi farklı renklerde yaktıracağım. Kumandayı kullanırken öncelikle dikkat etmemiz gereken durum, kumandamız kızılötesi sinyaller ile çalıştığından mutlaka alıcısını görmesi gerekir.  2. durum ise her kumandanın kendine özgü HEX kodları vardır. Yani tuşlara bastığınızda kumandanın gönderdiği sinyale karşılık gelen kodlar. Projenin kodlarını arduinoya yükleyip çalıştırdığınızda projeniz çalışmayacaktır. Serial Monitör ekranını açıp ledi hangi tuşları kullanarak yakmak istiyorsanız o tuşlara bastığınızda ekrana düşen kodlar ile değiştirmelisiniz.

IR Kumanda ile led kontrolü için gerekli malzemeler:

  • 1x Arduino uno
  • 1x Breadbord
  • 1x IR alıcı
  • Jumper kablolar
  • 3x 220 ohm direnç
  • 1x Kumanda
  • 1x RGB LED

IR Kumanda ile led kontrolü Devre Şeması:

 

 Arduino IR Kumanda ile led kontrolü Code:

#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ıgı zaman
   Serial.println(results.value, HEX); // Ekrana HEX kodunu yaz
   
   if(results.value==0xFD08F7){ //1tuşuna basınca kırmızı
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
   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);	// her sinyal okuma kodlarında yanan ışık varsa söndürüyoruz
    digitalWrite(3,LOW);	// çünkü önceki sinyalde herhangi bir çıkışı aktif ettigimizde bir sonrakinde söndürmezsek renk karışımları oluyor. 
    digitalWrite(4,LOW);	// biz bu karışımları da tuşlara atadık.
    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ınca 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 yanacaktır.
        digitalWrite(2,HIGH);
        digitalWrite(4,HIGH);
        digitalWrite(3,HIGH);
       }
         
       else {  //Diger tüm tuşlarda ledler sönsün
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
    }
       
    irrecv.resume();             
  }
  delay(100);                  
                             
}

 Proje Videosu:

Loading

Categories: Elektronik/Arduino

0 Comments

Leave a Reply

Avatar placeholder

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