AlarmClock is an Arduino sketch that implements an alarm clock.
AlarmClock comprises an LCD Keypad Shield for the IO operations, a DS1307 RTC for the timekeeping, and a buzzer for the alarm.
The control is managed by a finite state machine. The FSM
greatly helps to organize the operation of, and transitions between, the different states of the clock and the various menus.
There is a tutorial on AlarmClock on codebender’s blog. The source code is available on GitHub.