Evet arkadaşlar öncelikle bu konuyu bi sitede gördüm arduinoya ilk başladığım sıralarda denemiştim ve başarılı olmustum.
Projemize geçelim; Projemiz konu başlığındada olduğu gibi herhangi bir kumanda (TV,CD,DVD,RECEİVER) ile kodda belirlediğiniz çıkışları kontrol edeceğiz.
Bu sistemi nerelerde kullanabiliriz diyebilirsiniz kullanacağınız alanlar sizin düşünce ve zeka kabiliyetinize bağlı.
Sistemi, aydınlatma devrelerinde,otomatik kapı sistemlerinde ve daha bir cok yerlerde kullanabiliriz. Lafı fazla uzatmadan anlatıma geçelim.
DEVREYİ BREAD BOARD UZERINE KURUN:
Daha sonradan kumandamızın gönderdiği sinyallerin arduinoya gelen numaralarını ögrenip kodumuzu yazmaya geçelim.Linkten arduino IRRemote kütüphanesini indirelim ve library klasörüne atalım.
http://z3t0.github.io/Arduino-IRremote/
Daha sonra aşağıdaki kodu derleyip arduinoya atalım ve test etme islemimizi başlatalım.Kumandamızdan 4 adet tuş belirliyoruz.
KUMANDA TEST KODU:
#include <IRremote.h>
int RECV_PIN = 11; //IR'nin 3.bacağını taktığımız pin
IRrecv irrecv(RECV_PIN);
decode_results kod; // dekode sonucu
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Alma başlıyor
}
void loop()
{
if (irrecv.decode(&kod))
{
Serial.println(kod.value, DEC); // Kodun Decimal Değeri
irrecv.resume();} // Yeni kod alımı
}
![]() |
Serial monitörden çıkan değerlerimiz |
Evet arkadaşlar sıra geldi ledlerimizi kontrol edebileceğimiz kodları yazmaya. Aşağıdaki kodları yazalım derleyelim ve arduinomuza yukleyelim.
Arduino programlamaya yeni başlayan arkadaşlar lütfen kodları kopyala yapıştır yapmayalım.Öğrenmeniz daha çok zaman alır.Tek tek yazın süreniz uzasın kodların açıklamalarını okuyun ne ise yaradıklarını öğrenin.
KOD:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results kod;
int kumanda(int k)
{
if(k==3922)
return 1;
if(k==3907)
return 2;
if(k==3906)
return 3;
if(k==3911)
return 4;
if(k==1874)
return 1;
if(k==1859)
return 2;
if(k==1858)
return 3;
if(k==1863)
return 4;
return -1;
}
void setup()
{
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&kod)) {
Serial.println(kumanda(kod.value));
if(kumanda(kod.value) == 1)
digitalWrite(9,HIGH);
if(kumanda(kod.value) == 2)
digitalWrite(8,HIGH);
if(kumanda(kod.value) == 3)
digitalWrite(7,HIGH);
if(kumanda(kod.value) == 4){
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
irrecv.resume();
}
}
Işlemimiz bu kadar arkadaşlar.Hepinize iyi günler.Bir sonraki yazımızda görüşmek dileğiyle..
"Resimler alıntıdır"
0 yorum:
Yorum Gönder