Temporizador con alarmas

Hola a tod@s, estoy intentando hacer un temporizador que comience desde 0, que me de la opcion de introducir varias alarmas y que me active una misma salida , 5 seg., cada vez que el temporizador llega a una alarma. Todo esto utilizando un teclado numerico (con * y #) y una pantalla lcd de dos lineas. He partido del siguiente proyecto. que es lo mas parecido que he encontrado.

Y lo he intentado modificarlo hasta llegar a esto.

#include <Keypad.h>                       // We include the libraries. 
#include <LiquidCrystal.h>    
#include <TimerOne.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);    // Iniziates the library with the numbers of the pin interface.

const byte ROWS = 4;                      // Four rows.
const byte COLS = 3;                      // Three coulmns. 
char keys[ROWS][COLS] =                   // Configurates the characters associated to a position.
{
 {'1','2','3'},
 {'4','5','6'},
 {'7','8','9'},
 {'*','0','#'}
};
byte rowPins[ROWS] = {22, 23, 24, 25};      // Connects the output pins to the rows of the keypad.
byte colPins[COLS] = {26, 27, 28};          // Connects the output pins to the columns of the keypad.

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

int conPos = 0;            // Position Counter variable that controls the position of the cursor.
int conDig = 0;            // Digital Counter variable the controls the case switching. 

int ledPin = 9;            // LED connected to digital pin 9. Is used in the alarm. 

int horas = 0;             // This variables will store time values. 
int minutos = 0;
int segundos = 0;

void setup()
{
 lcd.begin(16,2);    // Configures the number of columns and rows in the LCD. 
 lcd.print("Introduzca alarma");   // Prints a message in the LCD. "Introduce time".
 TimerOne attachInterrupt(comienza);  // The function "comieza" (begins) is associated with the interruption. 
 TimerOne initialize(1000000);
 "
}


void loop()
{
                   
 char key = keypad.getKey();

 if (key != NO_KEY)                  
 {
  switch(conDig)
   {
   case 0:  
    lcd.setCursor(conPos,2);   // conPos = 0. Horas. First Digit.
    if (key <= '2')
    {
      lcd.print(key);
      conPos = 1;              // Moves the cursor at row 1 (the second one). 
      conDig++;                // Moves on to the next case, with the cusor already in row 1.
      horas = (key - 48)*10;
    }
      break;
   case 1:
    lcd.setCursor(conPos,2);    // conPos = 1. Horas. Second digit.
    lcd.print(key);
    lcd.print(":");
    conPos = 3; 
    conDig++;
    horas = horas+(key - 48);
    break;
   case 2:
    lcd.setCursor(conPos,2);    // conPos = 3. Minutos. Third digit.
    if (key <= '5')
    {
      lcd.print(key);
      conPos = 4;              // Moves the cursor at row 4 (the fifth one). 
      conDig++;                // Moves on to the next case. 
      minutos = (key-48)*10;
    }
    break;
   case 3:
    lcd.setCursor(conPos,2);     // conPos = 4. Minutos. Forth digit.
    lcd.print(key);
    lcd.print(":");
    conPos = 6;
    conDig++;
    minutos = minutos+(key-48);
    break;
   case 4:
    lcd.setCursor(conPos,2);     // conPos = 6. Segundos. Fifth digit.
    if (key <= '5')
    { 
      lcd.print(key);
      conPos = 7;
      conDig++;
      segundos = (key - 48)*10;
    }
    break;
   case 5:
    lcd.setCursor(conPos,2);     // conPos = 7. Segundos. Sixth digit. 
    lcd.print(key);
    lcd.print(".");
    conDig++;
    segundos = segundos+(key-48);
    break;
//    case 6:
//    ledIndicador();
   }
//   while (conDig == 6)
//   {
//     ledIndicador();
//   } 
}
 
}
void comienza()
{
 segundos = segundos + 1;
 if (segundos > 59)
 {
   segundos = 0;
   minutos = minutos + 1;
 }
 if (minutos > 59)
 {
   minutos = 0;
   horas = horas + 1;
 }
 if (segundos == 0 && minutos == 0 && horas == 0)
 {
   TimerOne stop();
   ledIndicador();
 }
}

y estoy muy atascado .Tengo que cambiar el ultimo if, que esta para cuenta atras, para una alarma. Y supongo que unas cuantas cosas mas habra que cambiar. No estiendo muchas cosas. Si alguien puede hecharme una mano. Gracias.