IR ALICI MODÜLÜ (IR RECEIVER MODULE)
Bu projede Keyes IR alıcı modülü kullanıldı. Bu modül küçük güç tüketimi ve kullanışlı kılıfı ile IR uzaktan kumanda sistemlerinde sık sık kullanılmakta. Bu modül uzaktan kumanda kontrol sistemleri için tasarlanmış TSOP18 serisi alıcıları içerir. Bu modül demodüle edilmiş çıkış sinyali verir. Demodüle edilmiş çıkış sinyali doğrudan bir mikro-işlemci tarafından deşifre edilebilir.
Şekil 1 – Keyes IR Alıcı Modülü
Özellikler
· Besleme Gerilimi: 2.7V to 5.5V
· Besleme Current : 1.5mA
· Çalışma Sıçaklığı: -25°C to 85°C
· Frekens: 37.9KHZ
· Alış Açısı: 90°
· Alıcı Mesafesi: 18m

Şekil 2 – Keyes IR Alıcı Modülü Şematik Gösterimi
Devre
ARDUINO IR alıcı modülü ile uzaktan kumanda kontrol devresini tasarladım (Şekil 3).

Şekil 3 - ARDUINO IR alıcı modülü ile uzaktan kumanda kontrol devresi
TV Kumanda üzerindeki butonların (Figure 4) kodlarını seri port ekranında okudum (Figure 5). Okunan bu değerleri Arduino Programında kullandım.

Figure 4 – TV Kumandası
Figure 5 - The TV Control Buttons Codes on Serial Monitor
ARDUINO UNO Programı
#include<IRremote.h> // IR Remote Kütüphanesi
int RECV_PIN = 8; // IR Receiver Data Pin için kullanılan Arduino Pin Numarası
IRrecv irrecv(RECV_PIN);
decode_results results;
#define LED1 4
#define LED2 5
#define LED3 6
#define LED4 7
void setup()
{
Serial.begin(9600); // Seri haberleşme bant genişliği
irrecv.enableIRIn(); // IR Alıcı veri okumasına başla
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
uint32_t resultCode = (results.value );
if (resultCode==0x20DF8877) // TV Kumanda “1” butonu için hexadecimal kodu
{
digitalWrite(LED1,HIGH); //LED1 ON
}
else if (resultCode==0x20DF48B7) // TV Kumanda “2” butonu için hexadecimal kodu
{
digitalWrite(LED2,HIGH); //LED2 ON
}
else if (resultCode==0x20DFC837) // TV Kumanda “3” butonu için hexadecimal kodu
{
digitalWrite(LED3,HIGH); //LED3 ON
}
else if (resultCode==0x20DF28D7) // TV Kumanda “4” butonu için hexadecimal kodu
{
digitalWrite(LED4,HIGH); //LED4 ON
}
else if (resultCode==0x20DF08F7) // TV Kumanda “0” butonu için hexadecimal kodu
{
digitalWrite(LED1,LOW); //LED1 OFF
digitalWrite(LED2,LOW); //LED2 OFF
digitalWrite(LED3,LOW); //LED3 OFF
digitalWrite(LED4,LOW); //LED4 OFF
}
Serial.println(results.value, HEX); //TV Kumandası üzerinden basılan Butonların hexadecimal kodu
irrecv.resume(); // IR alıcı için bir sonraki komutu oku.
}
}
Yukarıdaki ARDUINO programımızın (IR_LEDKontrol.ino indirmek için tıkla) çalışabilmesi için #include<IRremote.h> komutu ile IR Kumanda kütüphanesini eklemeniz gerekir (IRremote.h indirmek için tıkla) .
Ders Videosu