encerrar programa

Muito obrigado.
Mas não entendi como habilito um botão, entre quais pinos?
aproveito para colocar o tal do programa_que_funciona_muito bem.
preciso que ao acionar um botão, por um instante, ele rode até o final e pare em seguida reabilitando o botão.

Mais uma vez, muito obrigado

void setup() {

pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);
}

void loop() {

{

delay(100);
}

digitalWrite(10, HIGH); // 12
delay(4000);

digitalWrite(13, HIGH); // 12
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 1
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 2
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 3
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 4
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 5
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 6
delay(20);
digitalWrite(13, LOW);
delay(500);

digitalWrite(13, HIGH); // 7
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 8
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 9
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 10
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 11
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 12
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 13
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 14
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 15
delay(20); //
digitalWrite(13, LOW); //
delay(500);

digitalWrite(13, HIGH); // 16
delay(10); //
digitalWrite(13, LOW); //
delay(10);

digitalWrite(9, HIGH); // 17
delay(2000); //
digitalWrite(9, LOW); //
delay(100);

digitalWrite(13, HIGH); // 18
delay(10); //
digitalWrite(13, LOW); //
delay(1000);
digitalWrite(10, LOW);
delay(2500);

while(2){}
}