Görselde IR ile uzaktan kumanda uygulaması görülmektedir. Burada kullanılan kumandalarda her tuşun farklı bir kodu vardır. Kullanılmak istenen tuşun kodunu öğrenebilmek için menülerden “Taslak  Library Ekle  Kütüphaneleri Yönet” seçeneğinden arama kutusuna “IRremote” yazılarak “IRremote” kütüphanesi bulunur ve kurulur. Menülerden “Taslak  Library Ekle  IRremote” seçilerek programın başına eklenir.

Aşağıdaki program herhangi bir kumandanın basılan tuşlarının hex. kodlarını seri ekranda gösterir. Tuş kodları uygulamada kontrol için kullanılmaktadır.

IR alıcının data çıkışı Arduino’nun 2 numaralı pinine bağlıdır. Çıkış olarak ayarlanan pinlere üç
ayrı LED veya RGB LED bağlanabilir. Kumandanın 1, 2, 3 numaralı tuşları LED’leri yakıp söndürmektedir. Çıkışta MOSFET, röle vb. güç üniteleri kullanılarak şerit LED, lamba, fan vb. yükler kontrol edilebilir.



#include <IRremote.h>

IRrecv irAlici(2); // irAlici isimli nesne 2. pini giriş olarak kullanır.

decode_results tus; // Kodu çözülmüş sonuçları tus değişkenininde sakla.

#define tus1 0xFF30CF // Burada kullanılacak Hex kodu seri ekranda görünür.
#define tus2 0xFF18E7
#define tus3 0xFF7A85
const byte LED[] = {13, 4, 5};

void setup()
{
  Serial.begin(9600);
  irAlici.enableIRIn(); // Alıcıyı başlat.
  pinMode(LED[0], OUTPUT);
  pinMode(LED[1], OUTPUT);
  pinMode(LED[2], OUTPUT);
}

void loop() {
  if (irAlici.decode(&tus)) // Tuşa basılmısşa...
  {
    Serial.println(tus.value, HEX); // Tuşun Hex kodunu yazdır.
    if (tus.value == tus1)
      digitalWrite( LED[0], !digitalRead(LED[0])); // Çıkışı tersle.
    if (tus.value == tus2)
      digitalWrite( LED[1], !digitalRead(LED[1])); // Çıkışı tersle.
    if (tus.value == tus3)
      digitalWrite( LED[2], !digitalRead(LED[2])); // Çıkışı tersle.
    irAlici.resume();
  }
}

Categories:

Tags:

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Dersler