Arduino IR kumanda kodu çalışmıyor

Begefendi

Hectopat
Katılım
12 Şubat 2021
Mesajlar
388
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Anlamıyorum, neden?

1672524363690.png


C++:
#include <IRremote.h>      //including infrared remote header file

IRrecv IR(11);

int buzzerPin = 10;
 
//https://pages.mtu.edu/~suits/notefreqs.html
int C = 262;
int D = 294;
int E = 330;
int F = 349;
int F_ = 370;
int G = 392;
int A = 440;
int B = 494;
int C_ = 523;


void setup()
{
  pinMode(buzzerPin,OUTPUT);
  Serial.begin(9600);
  IR.enableIRIn();
}
 
void loop()
{
remote();
 
}

void remote() {
  if (IR.decode())
      {
    Serial.println(IR.decodedIRData.decodedRawData, HEX);
    delay(3000);
    IR.resume();
      }
   if (IR.decodedIRData.decodedRawData == 0xEF10BF00) {play("axelf"); Serial.println("a");}
}

void play(char musicName[]) {
  Serial.println(musicName[5]);
    if(musicName == "axelf") { for(int x=0;x<=3;x++) {buzzer(200,E);delay(500);buzzer(200,G);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,A);delay(100);buzzer(200,E);delay(100);buzzer(200,D);delay(100);buzzer(200,E);delay(500);buzzer(200,B);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,C);delay(100);buzzer(200,B);delay(100);buzzer(200,G);delay(100);buzzer(200,E);delay(100);buzzer(200,B);delay(100);buzzer(200,E);delay(100);buzzer(100,E);buzzer(100,D);delay(100);buzzer(100,D);buzzer(100,B);delay(100);buzzer(200,F_);delay(100);buzzer(200,E);delay(1500);}
    //https://blogs.glowscotland.org.uk/sb/public/youthmusicinitiative/uploads/sites/3670/2020/09/09141508/Ipad-Crazy-Frog-Axel-F-Tune-Notes-Only.pdf
    }
}

void buzzer(int delayTime, int nota) {
    if (shouldContinue()) {
        tone(buzzerPin, nota);
        delay(delayTime);
        noTone(buzzerPin);
    }
}

bool shouldContinue() {
    return !(IR.decodedIRData.decodedRawData == 0xF30CBF00);
}

Tuşa bastığımda axel f çalıcak bir proje yapıyorum kendimi geliştirmek için, ama neden çalışmıyor, hata yok.

Anlamıyorum, neden?

1672524363690.png


C++:
#include <IRremote.h>      //including infrared remote header file

IRrecv IR(11);

int buzzerPin = 10;
 
//https://pages.mtu.edu/~suits/notefreqs.html
int C = 262;
int D = 294;
int E = 330;
int F = 349;
int F_ = 370;
int G = 392;
int A = 440;
int B = 494;
int C_ = 523;


void setup()
{
  pinMode(buzzerPin,OUTPUT);
  Serial.begin(9600);
  IR.enableIRIn();
}
 
void loop()
{
remote();
 
}

void remote() {
  if (IR.decode())
      {
    Serial.println(IR.decodedIRData.decodedRawData, HEX);
    delay(3000);
    IR.resume();
      }
   if (IR.decodedIRData.decodedRawData == 0xEF10BF00) {play("axelf"); Serial.println("a");}
}

void play(char musicName[]) {
  Serial.println(musicName[5]);
    if(musicName == "axelf") { for(int x=0;x<=3;x++) {buzzer(200,E);delay(500);buzzer(200,G);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,A);delay(100);buzzer(200,E);delay(100);buzzer(200,D);delay(100);buzzer(200,E);delay(500);buzzer(200,B);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,C);delay(100);buzzer(200,B);delay(100);buzzer(200,G);delay(100);buzzer(200,E);delay(100);buzzer(200,B);delay(100);buzzer(200,E);delay(100);buzzer(100,E);buzzer(100,D);delay(100);buzzer(100,D);buzzer(100,B);delay(100);buzzer(200,F_);delay(100);buzzer(200,E);delay(1500);}
    //https://blogs.glowscotland.org.uk/sb/public/youthmusicinitiative/uploads/sites/3670/2020/09/09141508/Ipad-Crazy-Frog-Axel-F-Tune-Notes-Only.pdf
    }
}

void buzzer(int delayTime, int nota) {
    if (shouldContinue()) {
        tone(buzzerPin, nota);
        delay(delayTime);
        noTone(buzzerPin);
    }
}

bool shouldContinue() {
    return !(IR.decodedIRData.decodedRawData == 0xF30CBF00);
}

Tuşa bastığımda axel f çalıcak bir proje yapıyorum kendimi geliştirmek için, ama neden çalışmıyor, hata yok.
Ayrıca remote'un en altındaki ifi yorum satırına almadığım sürece tuş 1 defadan fazla basmıyor.
 
Anlamıyorum, neden?

Eki Görüntüle 1619653

C++:
#include <IRremote.h>      //including infrared remote header file

IRrecv IR(11);

int buzzerPin = 10;
 
//https://pages.mtu.edu/~suits/notefreqs.html
int C = 262;
int D = 294;
int E = 330;
int F = 349;
int F_ = 370;
int G = 392;
int A = 440;
int B = 494;
int C_ = 523;


void setup()
{
  pinMode(buzzerPin,OUTPUT);
  Serial.begin(9600);
  IR.enableIRIn();
}
 
void loop()
{
remote();
 
}

void remote() {
  if (IR.decode())
      {
    Serial.println(IR.decodedIRData.decodedRawData, HEX);
    delay(3000);
    IR.resume();
      }
   if (IR.decodedIRData.decodedRawData == 0xEF10BF00) {play("axelf"); Serial.println("a");}
}

void play(char musicName[]) {
  Serial.println(musicName[5]);
    if(musicName == "axelf") { for(int x=0;x<=3;x++) {buzzer(200,E);delay(500);buzzer(200,G);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,A);delay(100);buzzer(200,E);delay(100);buzzer(200,D);delay(100);buzzer(200,E);delay(500);buzzer(200,B);delay(250);buzzer(200,E);delay(250);buzzer(100,E);buzzer(100,C);delay(100);buzzer(200,B);delay(100);buzzer(200,G);delay(100);buzzer(200,E);delay(100);buzzer(200,B);delay(100);buzzer(200,E);delay(100);buzzer(100,E);buzzer(100,D);delay(100);buzzer(100,D);buzzer(100,B);delay(100);buzzer(200,F_);delay(100);buzzer(200,E);delay(1500);}
    //https://blogs.glowscotland.org.uk/sb/public/youthmusicinitiative/uploads/sites/3670/2020/09/09141508/Ipad-Crazy-Frog-Axel-F-Tune-Notes-Only.pdf
    }
}

void buzzer(int delayTime, int nota) {
    if (shouldContinue()) {
        tone(buzzerPin, nota);
        delay(delayTime);
        noTone(buzzerPin);
    }
}

bool shouldContinue() {
    return !(IR.decodedIRData.decodedRawData == 0xF30CBF00);
}

Tuşa bastığımda axel f çalıcak bir proje yapıyorum kendimi geliştirmek için, ama neden çalışmıyor, hata yok.


Ayrıca remote'un en altındaki ifi yorum satırına almadığım sürece tuş 1 defadan fazla basmıyor.
Devrende hata var mı bilmiyorum ama kodda, tanımlamış olduğun fonksiyonları void loop'un üstüne alıp deneyin. C'de yerleri fark ediyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı