Tienes el ejemplo que te he pasado de TimeAlarm Library.
Prueba con el, elimina o cambia lo que te haga falta.
#include <Time.h>
#include <TimeAlarms.h>
void setup()
{
Serial.begin(9600);
setTime(8,29,0,1,1,11); // set time to Saturday 8:29:00am Jan 1 2011
// create the alarms
Alarm.alarmRepeat(8,30,0, MorningAlarm); // 8:30am every day
Alarm.alarmRepeat(17,45,0,EveningAlarm); // 5:45pm every day
Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm); // 8:30:30 every Saturday
Alarm.timerRepeat(15, Repeats); // timer for every 15 seconds
Alarm.timerOnce(10, OnceOnly); // called once after 10 seconds
}
Todo eso es básico
Alarm.alarmRepeat(8,30,0, MorningAlarm); // 8:30am every day
es una alarma que se repite todos los dias a las 8:30:00
luego hay una alarma
Alarm.alarmRepeat(17,45,0,EveningAlarm); // 5:45pm every day
que se repite pero a las 17:45:00
cada una llama a una rutina, la primera a MorningAlarm y la segunda a EveningAlarm
// functions to be called when an alarm triggers:
void MorningAlarm(){
Serial.println("Alarm: - turn lights off");
}
void EveningAlarm(){
Serial.println("Alarm: - turn lights on");
}
Estas dos rutinas no hacen nada, solo muestran un cartel y si fueran por ejemplo acciones sobre un pin podrias encender luces con un
digitalWrite(pin, HIGH);
en MorningAlarm
y otra que apague con
digitalWrite(pin, LOW);
como ves es muy fácil.
luego hay otra que tiene un comando extra que le dice que día se activa la alarma
Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm); // 8:30:30 every Saturday
y finalmente estas dos
Alarm.timerRepeat(15, Repeats); // timer for every 15 seconds
Alarm.timerOnce(10, OnceOnly); // called once after 10 seconds
Son alarmas que se repiten pero ahora en intervalos cortos, segundos.
la que indica timerRepeat es la que repite... imagina que es interesante usarla para por ejemplo generar una sirena cada 10 segundos entonces usas Alarm.timerRepeat(10, Repeats)
y la segunda timerOnce solo se ejecuta una vez a los 10 segundos de ser llamada.
Con estas herramientas tienes todo lo que necesites.