Arduino IR remote Kontrol – Uygulama

Merhaba arkadaşlar. Ir remote kontrol ile basit bir uygulama yaptım. Uzaktan kontrol sistemleri arasında infrared teknolojisi kullanımı basit ve ucuz bir araçtır.

Uygulamayı gerçekleştirmeden önce kumandamızın tuşlarına karşılık gelen kodları öğrenmemiz gerekiyor. Kumandanın her tuşuna basıldığında farklı bir kod üretiyor. Bundan dolayı kodları öğrenmediğiniz takdirde kesinlikle bu sistemi kullanamazsınız .

Gerekli malzemeler.

ır_remotemalzemeler

 

Bağlantı Şeması.

ir_remotebaglantı1

ir_remotecalisma

 

Projemizin kurulumu yapıldıktan sonra aşağıdaki gibi olacaktır.

ir_remotebaglantı2

Artık Projemizde kullanacağımız kumandanın tuş kodlarını bulmaya geldi.

 

Arduino Kodu

 #include <IRremote.h>

int RECV_PIN = 11; //foto transistör bağlantısı
IRrecv irrecv(RECV_PIN);
decode_results kod;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // alma için hazırlandı

}

void loop()
{
if (irrecv.decode(&kod))
{
Serial.println(kod.value, DEC); // Kodun Desimal Değere çevirerek göster
irrecv.resume();
delay(100);} // Yeni kod alımına hazır

}

 

Kumandamızın tuşlarına karşılık gelen kodları bulduğumuza göre şimdi uygulamamızı yapabiliriz.Kumandamızın 1 tuşuna bastığımızda lambayı yakacak 2 tuşuna bastığımız da ise lambayı kapatacak.

 

Arduino Kodu

#include <IRremote.h>

int RECV_PIN = 11;
int led1 = 5;
int led2 = 6;
int led3 = 7;
int itsONled[] = {0,0,0,0};
#define code1 16738455
#define code2 16750695
#define code3 16756815

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
unsigned int value = results.value;
switch(value) {
case code1:
if(itsONled[1] == 1) {
digitalWrite(led1, LOW);
itsONled[1] = 0;
} else {
digitalWrite(led1, HIGH);
itsONled[1] = 1;
}
break;
case code2:
if(itsONled[2] == 1) {
digitalWrite(led2, LOW);
itsONled[2] = 0;
} else {
digitalWrite(led2, HIGH);
itsONled[2] = 1;
}
break;
case code3:
if(itsONled[3] == 1) {
digitalWrite(led3, LOW);
itsONled[3] = 0;
} else {
digitalWrite(led3, HIGH);
itsONled[3] = 1;
}
break;
}
Serial.println(value);
irrecv.resume();
}
}

Youtube Channel https://www.youtube.com/channel/UCkN1xuy45a97hGPCtbUK0Dg

  1. Arduinocu 15 Mart 2016 08:09

    Dıncer Tebrikler seni ilgiyle takip ediyorum .

    Kolay gelsin

    Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.