Grazie per avermi fatto capire che ero totalmente fuori strada... 
Se può essere utile a qualcuno alle la soluzione con già i comandi infrarossi.
Per qualsiasi chiarimento, resto a disposizione. 
#define LED1 3
#define BUTTON 10
#include <IRremote.h>
int x=0;
int valoreContatto = 0;
unsigned int SignalA[] = {3320,1628,472,364,468,360,468,1184,468,360,468,1184,468,360,464,364,464,360,464,1196,440,1196,464,380,440,368,464,372,464,1188,464,1188,464,364,464,360,464,364,464,360,464,364,464,360,468,360,464,360,468,360,464,360,472,356,468,356,472,356,468,1184,468,364,464,360,464,364,464}; //AnalysIR Batch Export - RAW
unsigned int SignalS[] = {3344,1604,468,368,468,360,464,1184,468,360,468,1184,472,356,468,356,472,356,468,1180,476,1176,476,352,472,360,468,360,464,1184,468,1184,468,360,468,360,464}; //AnalysIR Batch Export - RAW
IRsend irsend;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(BUTTON, INPUT);
Serial.begin(9600);
}
void loop()
{
valoreContatto = digitalRead(BUTTON);
if(valoreContatto==HIGH){
delay(2500);
if(x==0)
{
irsend.sendRaw(SignalA, sizeof(SignalA)/sizeof(int), 38);
//Serial.println("ACCENDI");
x=1;
//Serial.println(x+5);
}
}
if(valoreContatto==LOW){
if(x==1)
{
irsend.sendRaw(SignalS, sizeof(SignalS)/sizeof(int), 38);
//Serial.println("SPEGNI");
x=0;
//Serial.println(x+3);}
}
}