Paso 3: Estructura del código
void loop()
{
Clock(); seguimiento de tiempo, es decir, actualizar horas, minutos y segundos variables según sea necesario.
Display(); Mostrar la hora o la hora de alarma, según el estado del interruptor de configuración.
Alarm(); comprueba si es hora para la alarma empezar.
update_buttons_state(); comprueba si ha cambiado los Estados de botones y touch sensor
Buttons(); hace lo que deben hacer los botones
}
Las variables que se necesitan de varias funciones se declaran en la primera pestaña (donde setup() y loop() es) y las variables que son necesarias sólo por una función se declara en la misma ficha como esa función.
Si cambias la depuración constante a 1 obtendrá algunas salida vía serial que puede ser bueno para la solución de problemas, por ejemplo, el tiempo y lo que valora el touchsensor devuelve.
He intentado comentar y hacer comprensible el código pero si tienes preguntas o sugerencias de mejora sólo deja un comentario.
Estos son los pines que utiliza para las diferentes partes:
-2 y 4: Touchsensor (4 es el pin de enviar, 2 es recibir)
-Botón 6 horas
-Botón de minutos 5
-Interruptor 7
-14-18 pernos de horas de pantalla
-8-13 pernos minutos de pantalla
Puede utilizar cualquier pins que quieras, solo tienes que cambiar en el código en consecuencia.