Problema ao Enviar e Receber IR no mesmo Arduino

Rafael_K_A:
budulindo, não entendi, o código é o mesmo do anterior que vc me passou!!

Experimentaste???

ANTES:

void loop() {

if (irrecv.decode(&results)) { //se existe algo descodificado...
    long int decCode = results.value;
    Serial.println(results.value); // REPARA NESTA LINHA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    if (results.value == 16736925) {  // se o que foi descodificado, é o que queremos receber... 
        for (int i = 0; i < 4; i++) {  //não percebo este for... mas o artista aqui és tu... 
            irsend.sendNEC(0xAF518E7, 32);
            delay(400);
        }
    }
    irrecv.enableIRIn();
    irrecv.resume(); //esta instrução pode até ser desnecessária... 
    }
}

DEPOIS:

void loop() {

if (irrecv.decode(&results)) { //se existe algo descodificado...
    long int decCode = results.value;
//NÃO ESTÁ AQUI SERIAL.PRINT NENHUM.... 
    if (results.value == 16736925) {  // se o que foi descodificado, é o que queremos receber... 
        for (int i = 0; i < 4; i++) {  //não percebo este for... mas o artista aqui és tu... 
            irsend.sendNEC(0xAF518E7, 32);
            delay(400);
        }
    }
    Serial.println(results.value);//EM VEZ DISSO ESTÁ AQUI!!!!!!!!!!!!!!!!!!!
    irrecv.enableIRIn();
    //irrecv.resume(); //esta instrução pode até ser desnecessária... 
    }
}

O código não é igual. É uma diferença minúscula, é certo, mas não é igual.
Como a porta série é bufferizada, se fizeres um print antes de usares algo com temporizações muito apertadas, pode acontecer que a transmissão de dados estrague as temporizações.

A biblioteca não desliga a porta série para enviar e receber... logo é uma possibilidade. Pelo que li, se enviares algo desactivas o receptor e vice-versa, pelo que a única coisa mais óbvia que me salta à vista é isto da porta série.

E no exemplo que experimentaste?? Estava lá um for para repetir o comando 4 vezes?