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();
  }
}
 
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.

Dediğinizi şuan yapma fırsatım oldu ama resimdeki gibi yazılar çıkıyor tuşlara basınca.
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.

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:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…