Alarm.alarm.Repeat()

Buenas tardes.
Ando teniendo problemas con la función Alarm.alarm.Repeat().
El problema radica en que por mas que genere los eventos para hacer la llamada, estos no se ejecutan.
No se si es un problema de las librerías que llamo o el programa mal estructurado.
Aquí va el código:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DS1307.h"
#include <Time.h>
#include <TimeAlarms.h>

LiquidCrystal_I2C lcd(0x27, 20, 4);

int Pre_Sec;
DS1307 clock;

int PULSADOR = 10;
int BOCINA = 2;
bool ESTADO = false;
int cont = 0;

unsigned long tiempo_inicial;
unsigned long tiempo_transcurrido ;
const unsigned long periodo = 50;


void setup()
{
  Serial.begin(9600);
  clock.begin();
  clock.fillByYMD(2019, 12, 27);//AUG 18,2017
  clock.fillByHMS(11, 59, 55);//12:00:00"
  clock.fillDayOfWeek(FRI);//Saturday
  clock.setTime();//write time to the RTC chip
  Pre_Sec = clock.second;
  lcd.init();
  lcd.backlight();

  pinMode(BOCINA, OUTPUT);
  pinMode(PULSADOR, INPUT);
  tiempo_inicial = millis();

  Alarm.alarmRepeat(12,0,0,enciende_alarma);// AQUI ESTA EL EVENTO

}

void loop()
{
  printTime();
  Alarm.delay(1);
}

void printTime()
{

  char hora[10];
  char fecha[20];

  clock.getTime();
  if (clock.second != Pre_Sec)
  {
    lcd.setCursor(3, 0);
    sprintf(hora, "%02d:%02d:%02d", clock.hour, clock.minute, clock.second);
    lcd.print(hora);
    lcd.setCursor(0, 2);
    sprintf(fecha, "%02d/%02d/%02d ", clock.dayOfMonth, clock.month, clock.year + 2000);
    lcd.print(fecha);

    switch (clock.dayOfWeek)// Friendly printout the weekday
    {
      case MON:
        lcd.print("LUNES");
        break;
      case TUE:
        lcd.print("MARTES");
        break;
      case WED:
        lcd.print("MIERCOLES");
        break;
      case THU:
        lcd.print("JUEVES");
        break;
      case FRI:
        lcd.print("VIERNES");
        break;
      case SAT:
        lcd.print("SABADO");
        break;
      case SUN:
        lcd.print("DOMINGO");
        break;
    }
    Pre_Sec = clock.second;
  }
}

void enciende_alarma(){
  Serial.println("Alarma");
  alarma();
}

void alarma() {

  tiempo_transcurrido = millis();

  if (tiempo_transcurrido - tiempo_inicial >= periodo) {
    tiempo_inicial = tiempo_transcurrido;
    ESTADO = !ESTADO;
    digitalWrite(BOCINA, ESTADO);
  }
}

El código ya lo había posteado en otra ocasión.
He buscado por el foro y Google y lo unico que encuentro es que se llama a los eventos de la forma en que los puse.
Usa un RTC DS1307;

Desde ya muchas gracias

Ahora recuerdo. Por favor publica los enlaces de las librerías que usas

#include <LiquidCrystal_I2C.h>
#include "DS1307.h"

Asi puedo reproducirlo

Buenas Surbyte.
Cuando me decís de subir las librerías: ¿Seria como adjunta o el link desde donde las baje?
Muchas gracias

Por favor publica los enlaces de las librerías que usas

Enlaces es lo mismo que link en inglés. Eso te pedí.

por ejemplo:

#include <LiquidCrystal_I2C.h> // https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
#include "DS1307.h"                 // https:// lo que sea
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> // https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c
#include "DS1307.h"                 // https://www.arduinolibraries.info/libraries/ds1307-rtc
#include <Time.h>                   // https://www.arduinolibraries.info/libraries/time
#include <TimeAlarms.h>         // https://www.arduinolibraries.info/libraries/time-alarms

Ahora he corrido el programa y esto arroja.

8:29:00
8:29:01
2 second timer
8:29:02
8:29:03
2 second timer
8:29:04
8:29:05
2 second timer
8:29:06
8:29:07
2 second timer
8:29:08
8:29:09
This timer only triggers once, stop the 2 second timer
8:29:10
8:29:11
8:29:12
8:29:13
8:29:14
15 second timer
8:29:15
8:29:16
8:29:17
8:29:18
8:29:19
8:29:20
8:29:21
8:29:22
8:29:23
8:29:24
8:29:25
8:29:26
8:29:27
8:29:28
8:29:29
15 second timer
8:29:30
8:29:31
8:29:32
8:29:33
8:29:34
8:29:35
8:29:36
8:29:37
8:29:38
8:29:39
8:29:40
8:29:41
8:29:42
8:29:43
8:29:44
15 second timer
8:29:45
8:29:46
8:29:47
8:29:48
8:29:49
8:29:50
8:29:51
8:29:52
8:29:53
8:29:54
8:29:55
8:29:56
8:29:57
8:29:58
8:29:59
Alarm: - turn lights off
15 second timer
8:30:00
8:30:01
8:30:02
8:30:03
8:30:04
8:30:05

Hola.
Hace horas que le estoy buscando la vuelta y no logro hacerlo funcionar.
Que manco soy ajaja