Ajuda com timer regressivo

Bom dia.
Meu primeiro contato com arduino foi a uma semana.
Estou elaborando um projeto relativamente complexo para fazer uma central de irrigação.
Mas no momento estou travado na construção de um timer, onde ele deve realizar uma contagem regressiva, e enquanto está contando um pino fique ativado, ao terminar deveria ficar parado no 0, e desativar o pino.
Porem ao terminar ele está iniciando novamente.

Trata-se de um arduino UNO ligado a um LCD Keypad Shield

segue o codigo:

void loop() {

 lcd.setCursor(0,0);
 lcd.print("MANUAL");

 // mecanismo de TIMER
   int seg_total;
   int segundos = 0;
   int minutos = 2;


seg_total = segundos+minutos*60;

   for (int i = seg_total; i > 0; i--) {
   delay(1000);



if ((segundos==0)&&(minutos==0)){
 digitalWrite(2,HIGH);
}
 else {
   digitalWrite(2,LOW);
 if ((segundos==0)&&(minutos!=0)){
   minutos--;
   segundos=59;
 }
 else {
 segundos--; 
   }



}
 lcd.clear();
 lcd.setCursor(0,1); 
 lcd.print(minutos);
 lcd.setCursor(4,1);
 lcd.print(segundos);
}
}

Ainda está em fase de testes, quando o timer funcionar vou colocar um botao para incrementar a variavel minutos.
Mas preciso que quando ele termine os minutos fique parado no zero, e desative o pino 2.

Leia as regras do fórum. Há formas de postar código no fórum. Cumpra as regras!

Primeiro conselho... nao uses o delay().

Segundo conselho... segue o que te foi dito no primeiro conselho.