problema con lectura de sensor ultrasonido

buenos dias, tengo un inconveniente en la lectura con dos sensores de ultrasonido, los cuales el sensor 1 funciona perfectamente, y el sensor 2 funciona si el sensor 1 no esta detectando nada; pero si el sensor 1 esta activo el sensor 2 queda totalmente bloqueado sin funcionar, la idea es que funcionen independientemente el uno del otro y con un retardo tanto en el inicio como en el apagado del led que esta asociado a este funcionamiento.

agradezco su colaboracion.

este es el codigo...

long tiempoencendido_S1 = 0;
long tiempofinal1_S1 =1000;

long tiempoapagado_S1 = 0;
long tiempofinal2_S1 =100;

long tiempoencendido_S2 = 0;
long tiempofinal1_S2 =1000;

long tiempoapagado_S2 = 0;
long tiempofinal2_S2 =100;

unsigned long tiempo;
unsigned long tiempo1;
unsigned long tiempo2;
unsigned long tiempo3;

int trigPin = 10;
int echoPin = 9;
int ledPin = 3;
int trig2Pin = 12;
int echo2Pin = 13;
int led2Pin = 4;

void setup() {

Serial.begin (115200);

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin,OUTPUT);

pinMode(trig2Pin, OUTPUT);
pinMode(echo2Pin, INPUT);
pinMode(led2Pin,OUTPUT);

}

void loop() {
tiempo = millis();
tiempo1 = millis();

tiempo2 = millis();
tiempo3 = millis();

long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line

digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >=0 && distance <= 70){

if(tiempo - tiempoencendido_S1 > tiempofinal1_S1){

tiempoencendido_S1 = tiempo;
digitalWrite(ledPin,HIGH);
}} else {
if(tiempo1 - tiempoapagado_S1 > tiempofinal2_S1) {
tiempoapagado_S1 = tiempo1;
digitalWrite(ledPin,LOW);
}

long duration2, distance2;
delayMicroseconds(2); // Added this line

digitalWrite(trig2Pin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trig2Pin, LOW);

duration2 = pulseIn(echo2Pin, HIGH);
distance2 = (duration2/2) / 29.1;

if (distance2 >=0 && distance2 <= 70){

if(tiempo2 - tiempoencendido_S2 > tiempofinal1_S2){

tiempoencendido_S2 = tiempo2;
digitalWrite(led2Pin,HIGH);
}
} else {
if(tiempo3 - tiempoapagado_S2 > tiempofinal2_S2) {
tiempoapagado_S2 = tiempo3;
digitalWrite(led2Pin,LOW);
}

}}}

Hola @romibo, bienvenido al foro Arduino en Español.
Por favor lee las Normas del foro y edita tu post usando etiquetas de código