Duda sobre la funcion pulseIn

Hola buenas. Aunque me acabo de registrar ahora en el foro ya llevo un par de semanas aprendiendo mucho gracias a ustedes,pero esta duda no la encontre como resolverla por ninguna parte.

La duda es sobre la funcion pulseIn:
Tengo 2 leds que se encienden desde 2 pulsadores distintos y quiero que al pulsar 1 segundo el pulsador 1 apague el led 1 y cuando pulse 1 segundo el puslador 2 que se apague el led 2.Hice 2 sketch por separado y funcionan bien, el problema es cuando los junto.

Hola, ¿podrías publicar el código que estás usando para los dos juntos a ver cuál es el problema?

Un saludo

Hola, gracias por contestar, quise resumir un poco mi caso para que alargarme mucho,pero este es el verdadero problema que tengo:

Yo hice 2 sketches por separado y me hacen la función exacta que quiero que hagan, el problema es cuando los quiero unir para hacer uno solo.
Uno es este:

int pinBoton1 = 2;
unsigned long duration;
int altavoces = 3;
int cascos = 4;
void setup()
{
pinMode(pinBoton1, INPUT);
Serial.begin(9600);
pinMode(altavoces,OUTPUT);
pinMode(cascos,OUTPUT);
}

void loop()
{
duration = pulseIn(pinBoton1, HIGH,300000000);
Serial.println(duration);
if (duration <=400000 && duration >=1) //si la pulsacion dura menos de 0,4 se enciende los altavoces y se apagan los cascos
{
digitalWrite(altavoces,HIGH);
digitalWrite(cascos,LOW);
}

if (duration >=400000 && duration <=800000) //si dura entre 0,4 y 0,8 se apagan los altavoces y se encienden los cascos
{
digitalWrite(altavoces,LOW);
digitalWrite(cascos,HIGH);
}

if (duration >=800000) //si dura mas de 0,8 se apaga todo
{
digitalWrite(altavoces,LOW);
digitalWrite(cascos,LOW);
}
}

Y el otro es este:

int pinBoton2 = 5;
unsigned long duration2;
int ledEstante=6;
int ledEscritorio=7;
int contar = 1;

void setup()
{
pinMode(pinBoton2, INPUT);
Serial.begin(9600);
pinMode(ledEstante,OUTPUT);
pinMode(ledEscritorio,OUTPUT);
}

void loop()
{
if (duration2!=0) //cuando se presione el pulsador suma +1 cada vez
{
contar++;
Serial.print("contar=");
Serial.println(contar);
Serial.println("duration2");
Serial.println(duration2);

}

duration2 = pulseIn(pinBoton2,HIGH,30000000);

if (duration2 <=500000 && duration2 >=1&& contar==1) // si la pulsacion dura menos de 0,5 segundos y contar es 1(no entiendo muy bien por que) se enciende estante
{
digitalWrite(ledEstante,HIGH);
digitalWrite(ledEscritorio,LOW);
delay(300);
}
if (duration2 <=500000 && duration2 >=1&& contar==2) // si la pulsacion dura menos de 0,5 segundos y contar es 2(no entiendo muy bien por que) se enciende escritorio
{
digitalWrite(ledEstante,LOW);
digitalWrite(ledEscritorio,HIGH);
delay(300);
}
if (duration2 <=500000 && duration2 >=1&& contar==3) // si la pulsacion dura menos de 0,5 segundos y contar es 3 se encienden los 2
{
digitalWrite(ledEstante,HIGH);
digitalWrite(ledEscritorio,HIGH);
delay(300);
}
if (duration2 >=800000) // si la pulsacion dura mas de 0,8 se apaga todo y se reinicia la cuenta para que siempre empice encendiendose estante
{
digitalWrite(ledEstante,LOW);
digitalWrite(ledEscritorio,LOW);
contar = 0;
}
if (contar>=3)
contar =0;
}