como es y donde insertar la funcion que necesito

esta es la parte de mi oprograma arduino que segun la medicion del acelerometro me prende una luz de distinto color.

if (AcX-offset>-500 and AcX-offset<900){digitalWrite(amarillo,1);digitalWrite(rele1,0);}
if (AcX-offset>900 and AcX-offset<1000){digitalWrite(azul,1);memoria_azul=1; digitalWrite(rele4,1); } **
** else {digitalWrite(rele4,1);}

if (AcX-offset<-100) { digitalWrite(rojo,1); memoria_rojo=1;digitalWrite(rele2,0); delay(2000);}
if (AcX-offset>800) { digitalWrite(verde,1);memoria_verde=1;digitalWrite(rele3,0); delay(1000);

El problema es que quiero hacer intermitente la luz Roja cuando su valor, sea, por ejemplo inferior a -500, y para eso creo que debo crear una funcion o subrutina insertada en el parrafo anterior que me dirija a la funcion especifica mientras el valor sea menor a 500.-

La verdad no se como hacerlo, si alguien me da una ayuda se lo agradezco

gracias igual
leo

Lo primero es que siempre el código se debe poner usando la etiqueta code. Luego si mutilas tu código sera muy difícil saber cual es el error o para que se usa cada variable.

if (AcX-offset>-500 && AcX-offset<900){
   digitalWrite(amarillo, HIGH);
   digitalWrite(rele1, LOW);
}
if (AcX-offset > 900 && AcX-offset < 1000){
   digitalWrite(azul, HIGH);
   memoria_azul=1;  
   digitalWrite(rele4, HIGH); 
}else {
   digitalWrite(rele4, HIGH);
}
if (AcX-offset <- 100) { 
   digitalWrite(rojo, HIGH); 
   memoria_rojo=1;
   digitalWrite(rele2, LOW); 
   delay(2000);
}
if (AcX-offset > 800) { 
   digitalWrite(verde, HIGH);
   memoria_verde=1;
   digitalWrite(rele3, LOW); 
   delay(1000);
}

Luego ten en cuenta que al usar if() individuales es posible que se ejecute mas de una sentencia. Por ejemplo si AcX-offset = -300, se ejecuta el 1ero (Amarilo), el else del 2do y el 3er (Rojo) if().

Mejor quizas en tu caso usar el switch

Luego por ultimo y en que momento apagas tus led y reles ?