Ayuda en este proyecto

necesito ayuda con este proyecto que no me sale por favor, lo que tiene que hacer es tener un botón de arranque y un boton de paro, pero al momento de activar el botón de arranque, hace el ciclo que esta adentro del if(digitalRead (arranque) ==HIGH), pero en cualquier momento al presionar el botón de ´paro debe de pausarse el ciclo de arranque, y volver a iniciar el programa al momento de presionar de nuevo el botón de arranque e iniciar el siclo del if(digitalRead (arranque) ==HIGH) nueva mente desde el inicio. ESPERO Y ME PUEDA AYUDAR SE LO AGRADE SERIA.

int paro=9;
int arranque=10;
int rele1=4;
int rele2=5;
int relemarcha=6;

void setup() {
pinMode(paro, INPUT);
pinMode(arranque,INPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(relemarcha, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(digitalRead (arranque) ==HIGH){
delay(10);
digitalWrite(rele1,HIGH);
Serial.println("activado rele1");
delay(1200);
digitalWrite(rele1,LOW);
delay(1200);
digitalWrite(rele2,HIGH);
Serial.println("activado rele2");
delay(1200);
digitalWrite(rele2,LOW);
delay(1200);
digitalWrite(relemarcha,HIGH);
Serial.println("activado marcha");
}

if(digitalRead (paro)==HIGH){
delay(10);
digitalWrite(rele1,LOW);
digitalWrite(rele2,LOW);
digitalWrite(relemarcha,LOW);
Serial.println("desactivado");
}
}

Google tradujo mi respuesta para nosotros:

Debe perder esos delay()s leer sobre máquinas de estado

gracias