Arduino IR Alıcı - Verici Uygulaması

Merhaba arkadaşlar... Bir önceki yazımda bu konuya ufak bir giriş yaparak Arduino IR Kütüphanesi hakkında bahsetmiştim. Bu yazımda ise IR konusunda farklı uygulamalar ve kodlarını ele alalcağım.

Öncelikle IR uygulamaları için gerekli donanımlardan bahsedelim.
IR (Infrared Receiver) kızılötesi dalga boyunda ışık yayarak veri transveri sağlayan bir sistemdir. Kızılötesi ışık Infrared Led'ten ilgili Infrared Alıcı'ya gönderilir. Bu sistem ve ya bu donanımlar uzun zamandır hayatımızın bir çok alanında mevcut ve bu donanımlara ulaşmak çok kolay ve ucuzdur. Arduino için bu uygulamalarda kullanılmak üzere yapılmış hazır modüller (Shield) olsa da bu malzemeleri elektronik devre elemanları satan mağazalarda bulmak mümkündür.

Aşağıda kullanacak olduğumuz IR Led ve IR Alıcıyı görebilirsiniz.


Bir çok çeşit IR Led ve IR Alıcı bulunmaktadır. Burada önemli noktalardan biri IR Alıcı pinlerinin çeşitlere göre farklılık göstermesidir. Aşağıda IR alıcıların çeşitlerinin ve pinlerinin belirtildiği bir resim bulunmaktadır.


Kullanacak olduğumuz donanımlar bunlar. Şimdi yapacak olduğumuz uygulamalardan bahsedelim. Ben kendim yapmış olduğum uygulamaları şu şekilde sıralıyorum ;
  • Herhangi bir uzaktan kumandanın kodlarını çözmek ( Tipik Temel Uygulama)
  • Serial Monitor (Veya başka bir sistem) üzerinden Mesaj Gönderme ve Alma
Arduino IR Sensör ile Kumanda Kodlarını Çözmek

Yapacak olduğumuz bu ilk uygulamada zaten evlerimizde hazırda bulunan bir çok TV, Ses Sistemi, Uydu Alıcısı ve Klima gibi cıhazları kullanarak bir sistemi kontrol etme işlemlerinin temeli gösterilecek. Bu uygulama sonrasında dilersenin odanızın ışığını açıp kapama, yapmış olduğunuz bir robotu kontrol etme gibi hayal edeceğiniz bir sistemi kontro ledebilirsiniz. Yapmamız gereken tek şey kullanacak olduğumuz kumandanın herhangi bir tuşuna basıldığında hangi kodu gönderdiğini öğrenmek. Bu işlem için aşağıdaki örnek arduino kodu ile kumandadan gönderilen kodları,  DEC yani ondalik sayı tabanında, BIN yani ikilik sayı tabanında ve HEX hexadecimal 16lık sayı tabanında serial monitöre yazıdırma işlemini yapacağız. 

Bu işlem için ihtiyacımız olan malzemeler;
1 x Arduino Uno
1 x IR Alıcı Sensör
1 x IR Kumanda 

Uygulama için bağlantıları oldukça kolay kullanmış olduğumuz IR sensörün türüne göre Veri bacağı yani yukarıdaki resime göre (s) Arduino 11 nolu pine bağlanacak. Diğer voltaj ve toprak pinlerini de Arduino üzerindeki +5V ve GND pinlerine bağlayabilirsiniz. Şimdi kullanacak olduğumuz kodu paylaşalım..


#include  // İlgili kütüphaneler eklenir.
#include 

int RECV_PIN = 11; // IR sensörden alınacak veri pini seçilir.
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();  
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC); // Gelen veri ondalık sayı olarak yazılır.
    Serial.println(results.value, BIN); // Gelen veri 2'lik tabanda yazılır.
    Serial.println(results.value, HEX); // Gelen veri Hexadecimal sayı olarak yazılır.
    Serial.println("-------------");

    irrecv.resume(); 
  }  
}

Yapmış olduğumuz bu uygulama ile kumanda üzerinde istediğimiz tuşa bastığımızda ilgili tuş ile gönderilen kod serial ekrana yazılacak. Daha sonra biz bu kodları bir kenara not edip, yazacak olduğumuz yeni uygulamada if - else gibi kontrol yapıları kullanarak bir cihazı yada sistemi kontrol etmek için kullanacağız. Bir sonraki yazımda TV kumandası ile Arduino üzerinden Led yakıp söndürmeyi göreceğiz. İyi çalışmalar.. Takipte kalın..