Arduino IR Kumanda Cevap Vermiyor

TonBaligi55

Kilopat
Katılım
16 Kasım 2018
Mesajlar
302
Çözümler
3
Arduino üzerinde basit bir proje yapmak istedim. LED'ler ile yaptığım bir kaç modu kumanda ile ayarlayabilmek adına IR kumanda kullandım. Fakat tuşlara bastığım zaman hiç bir şekilde tepki alamıyorum. Şema ve kod ektedir.
ASP.net:
#include <IRremote.h>

int RECV_PIN = 12;
IRrecv irrecv(RECV_PIN);
decode_results results;

#define CH1 0xFFA25D
#define CH 0xFF629D
#define CH2 0xFFE21D
#define PREV 0xFF22DD
#define NEXT 0xFF02FD
#define PLAYPAUSE 0xFFC23D
#define VOL1 0xFFE01F
#define VOL2 0xFFA857
#define EQ 0xFF906F
#define BUTON0 0xFF6897
#define BUTON100 0xFF9867
#define BUTON200 0xFFB04F
#define BUTON1 0xFF30CF
#define BUTON2 0xFF18E7
#define BUTON3 0xFF7A85
#define BUTON4 0xFF10EF
#define BUTON5 0xFF38C7
#define BUTON6 0xFF5AA5
#define BUTON7 0xFF42BD
#define BUTON8 0xFF4AB5
#define BUTON9 0xFF52AD


void setup() {

  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

  Serial.begin(9600);
  irrecv.enableIRIn();

}

void loop() {


  if (irrecv.decode(&results))
  {

    if (results.value == BUTON100)
    {
      digitalWrite(2, HIGH);
      digitalWrite(7, LOW);
      delay(150);
      digitalWrite(3, HIGH);
      digitalWrite(8, LOW);
      delay(150);
      digitalWrite(4, HIGH);
      digitalWrite(9, LOW);
      delay(150);
      digitalWrite(5, HIGH);
      digitalWrite(10, LOW);
      delay(150);
      digitalWrite(6, HIGH);
      digitalWrite(11, LOW);
      delay(300);

      digitalWrite(11, HIGH);
      digitalWrite(6, LOW);
      delay(150);
      digitalWrite(10, HIGH);
      digitalWrite(5, LOW);
      delay(150);
      digitalWrite(9, HIGH);
      digitalWrite(4, LOW);
      delay(150);
      digitalWrite(8, HIGH);
      digitalWrite(3, LOW);
      delay(150);
      digitalWrite(7, HIGH);
      digitalWrite(2, LOW);
      delay(300);
    }

    if (results.value == BUTON200)
    {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      delay(750);
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      delay(750);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      delay(750);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      delay(750);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      delay(750);

      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      delay(1200);

      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      delay(1200);

      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      delay(750);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      digitalWrite(9, HIGH);
      digitalWrite(8, HIGH);
      delay(750);
      digitalWrite(9, LOW);
      digitalWrite(8, LOW);
      digitalWrite(7, HIGH);
      digitalWrite(6, HIGH);
      delay(750);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(5, HIGH);
      digitalWrite(4, HIGH);
      delay(750);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(3, HIGH);
      digitalWrite(2, HIGH);
      delay(750);

      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      delay(1200);

      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
      delay(1200);
    }

    if (results.value == BUTON0)
    {
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    }

    if (results.value == BUTON1)
    {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    }

    if (results.value == BUTON2)
    {
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    }

    if (results.value == BUTON3)
    {
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    }

    if (results.value == BUTON4)
    {
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, LOW);
      digitalWrite(11, LOW);
    }

    if (results.value == BUTON5)
    {
      digitalWrite(2, LOW);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
      digitalWrite(5, LOW);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      digitalWrite(8, LOW);
      digitalWrite(9, LOW);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
    }

    if (results.value == BUTON6)
    {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(5, HIGH);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
    }

    if (results.value == BUTON7)
    {
      digitalWrite(2, HIGH);
      delay(100);
      digitalWrite(3, HIGH);
      delay(100);
      digitalWrite(4, HIGH);
      delay(100);
      digitalWrite(5, HIGH);
      delay(100);
      digitalWrite(6, HIGH);
      delay(100);
      digitalWrite(7, HIGH);
      delay(100);
      digitalWrite(8, HIGH);
      delay(100);
      digitalWrite(9, HIGH);
      delay(100);
      digitalWrite(10, HIGH);
      delay(100);
      digitalWrite(11, HIGH);
      delay(200);

      digitalWrite(2, LOW);
      delay(100);
      digitalWrite(3, LOW);
      delay(100);
      digitalWrite(4, LOW);
      delay(100);
      digitalWrite(5, LOW);
      delay(100);
      digitalWrite(6, LOW);
      delay(100);
      digitalWrite(7, LOW);
      delay(100);
      digitalWrite(8, LOW);
      delay(100);
      digitalWrite(9, LOW);
      delay(100);
      digitalWrite(10, LOW);
      delay(100);
      digitalWrite(11, LOW);
      delay(300);
    }

    if (results.value == BUTON8)
    {
      digitalWrite(2, HIGH);
      delay(50);
      digitalWrite(3, HIGH);
      delay(50);
      digitalWrite(4, HIGH);
      delay(50);
      digitalWrite(5, HIGH);
      delay(50);
      digitalWrite(6, HIGH);
      delay(50);
      digitalWrite(7, HIGH);
      delay(50);
      digitalWrite(8, HIGH);
      delay(50);
      digitalWrite(9, HIGH);
      delay(50);
      digitalWrite(10, HIGH);
      delay(50);
      digitalWrite(11, HIGH);
      delay(50);

      digitalWrite(2, LOW);
      delay(50);
      digitalWrite(3, LOW);
      delay(50);
      digitalWrite(4, LOW);
      delay(50);
      digitalWrite(5, LOW);
      delay(50);
      digitalWrite(6, LOW);
      delay(50);
      digitalWrite(7, LOW);
      delay(50);
      digitalWrite(8, LOW);
      delay(50);
      digitalWrite(9, LOW);
      delay(50);
      digitalWrite(10, LOW);
      delay(50);
      digitalWrite(11, LOW);
      delay(150);



      digitalWrite(11, HIGH);
      delay(50);
      digitalWrite(10, HIGH);
      delay(50);
      digitalWrite(9, HIGH);
      delay(50);
      digitalWrite(8, HIGH);
      delay(50);
      digitalWrite(7, HIGH);
      delay(50);
      digitalWrite(6, HIGH);
      delay(50);
      digitalWrite(5, HIGH);
      delay(50);
      digitalWrite(4, HIGH);
      delay(50);
      digitalWrite(3, HIGH);
      delay(50);
      digitalWrite(2, HIGH);
      delay(50);

      digitalWrite(11, LOW);
      delay(50);
      digitalWrite(10, LOW);
      delay(50);
      digitalWrite(9, LOW);
      delay(50);
      digitalWrite(8, LOW);
      delay(50);
      digitalWrite(7, LOW);
      delay(50);
      digitalWrite(6, LOW);
      delay(50);
      digitalWrite(5, LOW);
      delay(50);
      digitalWrite(4, LOW);
      delay(50);
      digitalWrite(3, LOW);
      delay(50);
      digitalWrite(2, LOW);
    }

    if (results.value == BUTON9)
    {
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      delay(150);
      digitalWrite(5, HIGH);
      digitalWrite(8, HIGH);
      delay(150);
      digitalWrite(4, HIGH);
      digitalWrite(9, HIGH);
      delay(150);
      digitalWrite(3, HIGH);
      digitalWrite(10, HIGH);
      delay(150);
      digitalWrite(2, HIGH);
      digitalWrite(11, HIGH);
      delay(500);

      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      delay(150);
      digitalWrite(5, LOW);
      digitalWrite(8, LOW);
      delay(150);
      digitalWrite(4, LOW);
      digitalWrite(9, LOW);
      delay(150);
      digitalWrite(3, LOW);
      digitalWrite(10, LOW);
      delay(150);
      digitalWrite(2, LOW);
      digitalWrite(11, LOW);
      delay(500);

      digitalWrite(2, HIGH);
      digitalWrite(11, HIGH);
      delay(150);
      digitalWrite(3, HIGH);
      digitalWrite(10, HIGH);
      delay(150);
      digitalWrite(4, HIGH);
      digitalWrite(9, HIGH);
      delay(150);
      digitalWrite(5, HIGH);
      digitalWrite(8, HIGH);
      delay(150);
      digitalWrite(6, HIGH);
      digitalWrite(7, HIGH);
      delay(500);

      digitalWrite(2, LOW);
      digitalWrite(11, LOW);
      delay(150);
      digitalWrite(3, LOW);
      digitalWrite(10, LOW);
      delay(150);
      digitalWrite(4, LOW);
      digitalWrite(9, LOW);
      delay(150);
      digitalWrite(5, LOW);
      digitalWrite(8, LOW);
      delay(150);
      digitalWrite(6, LOW);
      digitalWrite(7, LOW);
      delay(500);
    }




    irrecv.resume();
  }
}
1610956679396.png
 
Kumandanın göderdiği değerler ile kod üzerinde tanımlı olan kodlar uyuşmuyor. Arduino programından Dosya>Örnekler>IRremote>IRrecvDump örnek kodunu kullanarak mevcut kumandanızın tuşlarına ait kodları öğrenip #define 0x****** kısımlarını düzeltin.
 
Kumandanın göderdiği değerler ile kod üzerinde tanımlı olan kodlar uyuşmuyor. Arduino programından Dosya>Örnekler>IRremote>IRrecvDump örnek kodunu kullanarak mevcut kumandanızın tuşlarına ait kodları öğrenip #define 0x****** kısımlarını düzeltin.
Dediğinizi şuan yapma fırsatım oldu ama resimdeki gibi yazılar çıkıyor tuşlara basınca.
1610965776237.png

Dediğinizi şuan yapma fırsatım oldu ama resimdeki gibi yazılar çıkıyor tuşlara basınca.
1610965776237.png
Farklı kodlar buldum ve denedim fakat tuşlara basınca 0 gözüküyor bu seferde. Acaba kumandada bir sorun olabilir mi? 1 sene içinde buna benzer RGB Led ile bir proje yaptıydım ve kumanda çalışıyordu ilk yorumda yazdığım kodlar ile fakat şuan çalışmıyor. Durduğu yerde böyle bir sorun olacağını sanmam ama bir olasılık.
Dediğinizi şu an yapma fırsatım oldu ama resimdeki gibi yazılar çıkıyor tuşlara basınca.
1610965776237.png


Farklı kodlar buldum ve denedim fakat tuşlara basınca 0 gözüküyor bu seferde. Acaba kumandada bir sorun olabilir mi? 1 sene içinde buna benzer RGB LED ile bir proje yaptıydım ve kumanda çalışıyordu ilk yorumda yazdığım kodlar ile fakat şu an çalışmıyor. Durduğu yerde böyle bir sorun olacağını sanmam ama bir olasılık.

Bütün tuşlar serial portta 0 gösterdiği için BUTON3'ü #define BUTON3 0 0 atadım ve hangi tuşa basarsam basim BUTON3 diye atanan görevi gerçekleştiriyor.
 
Son düzenleme:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı