IR Kumanda ile led RGB led kontrolü
Arduino başlanğıç yada geliştirme setlerinin içerisinde kumanda olduğunu görüyoruz. İnternette bununla ilgili pek fazla proje de yok. Oto teyplerinde FM transimitter gibi cihazlarda da aynı kumanda kullanılmaktadır. Bende bu kumandayı kullanarak RGB ledimizi farklı renklerde yaktıracağım. Kumandayı kullanırken öncelikle dikkat etmemiz gereken durum, kumandamız kızılötesi sinyaller ile çalıştığından mutlaka alıcısını görmesi gerekir. 2. durum ise her kumandanın kendine özgü HEX kodları vardır. Yani tuşlara bastığınızda kumandanın gönderdiği sinyale karşılık gelen kodlar. Projenin kodlarını arduinoya yükleyip çalıştırdığınızda projeniz çalışmayacaktır. Serial Monitör ekranını açıp ledi hangi tuşları kullanarak yakmak istiyorsanız o tuşlara bastığınızda ekrana düşen kodlar ile değiştirmelisiniz.
IR Kumanda ile led kontrolü için gerekli malzemeler:
- 1x Arduino uno
- 1x Breadbord
- 1x IR alıcı
- Jumper kablolar
- 3x 220 ohm direnç
- 1x Kumanda
- 1x RGB LED
IR Kumanda ile led kontrolü Devre Şeması:
Arduino IR Kumanda ile led kontrolü Code:
#include <IRremote.h> // Kütüphane Eklendi
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600); // Ekrana yazmak için
// Seri haberleşme başlatıldı
irrecv.enableIRIn(); // IR haberleşme başlatıldı.
pinMode(2,OUTPUT); // RGB Ledi yakmak için çıkış pinleri tanımlandı.
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) { // sinyal algılandıgı zaman
Serial.println(results.value, HEX); // Ekrana HEX kodunu yaz
if(results.value==0xFD08F7){ //1tuşuna basınca kırmızı
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
// delay(250);
digitalWrite(2,HIGH);
}
else if(results.value==0xFD8877){ //2 tuşuna basınca mavi
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(3,HIGH);
}
else if(results.value==0xFD48B7){ //3 tuşuna basınca yeşil yansın
digitalWrite(2,LOW); // her sinyal okuma kodlarında yanan ışık varsa söndürüyoruz
digitalWrite(3,LOW); // çünkü önceki sinyalde herhangi bir çıkışı aktif ettigimizde bir sonrakinde söndürmezsek renk karışımları oluyor.
digitalWrite(4,LOW); // biz bu karışımları da tuşlara atadık.
digitalWrite(4,HIGH);
}
else if(results.value==0xFD28D7){ // 4 tuşuna basınca pembe
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(3,HIGH);
digitalWrite(2,HIGH);
}
else if(results.value==0xFDA857){ //5 tuşuna basınca turkuaz
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
}
else if(results.value==0xFD6897){ // 6 tuşuna basınca sarı
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
}
else if(results.value==0xFD9867){ // 8 tuşuna basınca beyaz ışık yanacaktır.
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(3,HIGH);
}
else { //Diger tüm tuşlarda ledler sönsün
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}
irrecv.resume();
}
delay(100);
}
Proje Videosu:
0 Comments