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(); } }
No responses yet