Programlama Kodları
//AÇIKLAMA
//Bu uygulamada IR kumandadan 1 ile 9 arasında hangi tuşa basıldığı seri port ekranına yazdırılır.
//switch case yöntemi kullanılmıştır. Eski olan "IRremote.zip" kütüphanesi kullanılmıştır. Samsung
//kumanda kullanılmıştır. Önceki uygulamalar ile Samsung kumandanın 1'den 9'a kadar olan tuş kodları
//öğrenilerek define ile değişkenlere tanımlanmıştır.
#include <IRremote.h>
#define tus1 0xE0E020DF
#define tus2 0xE0E0A05F
#define tus3 0xE0E0609F
#define tus4 0xE0E010EF
#define tus5 0xE0E0906F
#define tus6 0xE0E050AF
#define tus7 0xE0E030CF
#define tus8 0xE0E0B04F
#define tus9 0xE0E0708F
int pin = 11; //IR alıcıyı bağlayacağımız pini belirledik.
IRrecv alici(pin); //IR alıcı için pin kodunun bulunduğu "alici" isimli nesne tanımladık.
decode_results veri; //Gelen verileri çözen kod. Çözülen kodun atanacağı "veri" isimli değişken tanımlandı.
void setup()
{
Serial.begin(9600);
Serial.println("Enabling IRin");
alici.enableIRIn(); //Alıcı nesnesini başlattık.Yani IR veri alma işlemi başlatılır.
Serial.println("Enabled IRin");
}
void loop()
{
if (alici.decode(&veri))
{
switch (veri.value)
{
case tus1:
Serial.println("Tuş-1");
break;
case tus2:
Serial.println("Tuş-2");
break;
case tus3:
Serial.println("Tuş-3");
break;
case tus4:
Serial.println("Tuş-4");
break;
case tus5:
Serial.println("Tuş-5");
break;
case tus6:
Serial.println("Tuş-6");
break;
case tus7:
Serial.println("Tuş-7");
break;
case tus8:
Serial.println("Tuş-8");
break;
case tus9:
Serial.println("Tuş-9");
break;
default:
Serial.println("Hatalı Tuş. Lütfen 1- 9 Arası Bir Tuşa Basınız!");
break;
}
delay(300); //sık aralıklarla okuma olmaması için bekleme koyduk. diğer türlü tuşa 1 kez bastığımızda birden fazla okuma olur.
alici.resume(); //veri okuma işlemine devam etmek için bu komut yazıldı.
}
}
Devre Şeması




