Na verdade eu não tenho testado! Nem sei como fazer. Eu ja coloquei esta funçao enable.IROut(); no codigo e nao surte efeito. Porem se eu coloca-la no void setup, ela para o receptor.
Eu ultilizei esse codigo abaixo para testar as partes. Parece que ele esta fazendo isso sim, corretamente. Veja so:
#include <IRremote.h>
int RECV_PIN = 12;
IRrecv irrecv(RECV_PIN);
decode_results results;
IRsend irsend;
void setup()
{
irrecv.enableIRIn();
Serial.begin(9600);
}
long int decCode = 0;
void loop() {
if(irrecv.decode(&results)) {
decCode = results.value;
Serial.println(decCode, HEX);
irrecv.resume();
}
if (decCode == 0xFF629D) {
Serial.println("Codigo Recebido");
Serial.println("Modo de Transmissao");
for (int i = 0; i < 4; i++) {
irsend.sendNEC(0xAF518E7, 32);
Serial.print("Enviado: ");
Serial.println(i+1);
delay(50);
}
Serial.println("Receptor ativado");
irrecv.enableIRIn();
decCode = 0;
}
}
Ao acompanhar pela serial ficou assim:
FF629D
Codigo Recebido
Modo de Transmissao
Enviado: 1
Enviado: 2
Enviado: 3
Enviado: 4
Receptor ativado