semplice trasmissione / ricezione IR

Salve, premetto che sono disperato e non so veramente come uscire da questa situazione.
Ho da veramente poco preso in mano per la prima volta arduino e sto cercando di costruire una scatola, con un semplice LED infrarossi in trasmissione ed un sensore in ricezione che, quando smette di riceve il segnale infrarossi accende un normale led. Un po' come le porte degli ascensori.
Sono sicuro che la cosa sia facile, ed ho letto in lungo in largo, praticamente ogni pagina dove si parlava di comunicazione infrarossi ma continuo a riscontrare lo stesso problema: il ricevitore IR non ne vuole sapere di leggere i segnali che gli invio. Se gli punto un qualsiasi telecomando legge tutti i segnali, non legge quelli del mio trasmettitore, ed il problema è di tipo hardware all 100%.

Ho provato moltissime configurazioni, e questa è l'ultima alla quale sono arrivato, ricorrendo perfino agli pseudo-thread

#include <Thread.h>
#include <ThreadController.h>
#include <IRremote.h>

// ------------------------------------- 
// 

int RECV_PIN = 11;
const int tx= 3;
int led= 13;
IRrecv irrecv(RECV_PIN);
IRsend irsend;
decode_results results;
unsigned int S_pwr[68]={4600,4350,700,1550,650,1550,650,1600,650,450,650,450,650,450,650,450,700,400,700,1550,650,1550,650,1600,650,450,650,450,650,450,700,450,650,450,650,450,650,1550,700,450,650,450,650,450,650,450,650,450,700,400,650,1600,650,450,650,1550,650,1600,650,1550,650,1550,700,1550,650,1550,650};

// -------------------------------------


// ThreadController che controllerà tutti i thread
ThreadController controll = ThreadController();


//Thread TXThread = Thread();
Thread RXThread = Thread();

// callback per transmit
/*void transmit(){
        irsend.sendSony((char)'CIAO' ,20);
}*/

void receiv(){
        if(irrecv.decode(&results)){
           Serial.println("LETTO ");
           Serial.println((char)results.value, HEX);
           //Serial.println(results.decode_type);
           irrecv.resume();
        }
}

void setup(){
	Serial.begin(9600);
        irrecv.enableIRIn(); // avvio la ricezione
        pinMode(led, OUTPUT);
        irrecv.blink13(true);
        
        // Configurazione TXThread
	//TXThread.onRun(transmit);
	//TXThread.setInterval(0.5);

        // Configurazione RXThread
	RXThread.onRun(receiv);
	RXThread.setInterval(800);



	// aggiunta di entrambi i thread al controller
	//controll.add(&TXThread); // & per passargli il puntatore
        controll.add(&RXThread);

        // ---------------------------------------------------------
        
        
}

void loop(){
	// run ThreadController
	// this will check every thread inside ThreadController,
	// if it should run. If yes, he will run it;
	controll.run();
	// Resto del codice

        irsend.sendRaw(S_pwr,68,38);
        delay(50);
        //irsend.sendSony((char)'C', 12);
}

Sarei felicissimo se qualcuno potesse dirmi che codice devo utilizzare/come modificare il mio codice per fare una applicativo tipo le porte dell'ascensore, che trasmette sempre e riceve sempre, e quando il flusso si interrompe fa qualcosa, come accendere un led.
grazie mille in anticipo.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema: