TV Kumandası ile LED Kontrolü


Arduino TV Kumandası ile LED Kontrolü

IR (Kızılötesi) ile Haberleşme yapacağız.


   Next Uydu alıcının kumandasını, IR alıcı olarak TSOP4838 malzemeyi kullandım.

Kumandanın;
 1.ci Tuşu: "34935" kodu   2.ci Tuşu: "18615" kodu
 3.ci Tuşu: "51255" kodu   4.ci Tuşu: "10455" kodu
 Kırmızı Power Tuşu: "20655" kodunu gönderiyor.

   Bu kumanda ilk kodu gönderiyor sonra başka bir kod gönderiyor. Bu sayede butona bir kez basılmış oluyor. Eğer sizin kumandanızda bu yoksa yazılımda değişiklik yapmanız gerekecek yoksa LED'leriniz sürekli aç kapa yapacaktır.

   Kumandanın kodlarını görmek için Serial Monitör'den bakabilirsiniz.
Başka bir kumanda kullanıyorsanız benim kumanda kodlarımla değiştirmeniz gerekiyor.

NOT: Bu kullandığım kütüphane Arduino v1.0.5 versiyonu ile çalışmaktadır. Arduino v1.0.6 versiyonunda çalışmamıştır.


#include <IRremote.h>

byte RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
}
 
void loop(){
 if(irrecv.decode(&results)){
 unsigned int Gelen_Veri = results.value;
 
 switch(Gelen_Veri){
  case 34935:
  digitalWrite(3, !digitalRead(3));
  break;

  case 18615:
  digitalWrite(4, !digitalRead(4));
  break;

  case 51255:
  digitalWrite(5, !digitalRead(5));
  break;

  case 10455:
  digitalWrite(6, !digitalRead(6));
  break;

  case 20655:
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  break;
  }
   Serial.println(Gelen_Veri);
   irrecv.resume();
 }
}

0 yorum: