Paso 6: Firmware
El código ejecutará este reloj. No realmente hacer un seguimiento de la hora, simplemente provoca un paso en un intervalo constante. La longitud del intervalo depende de la electrónica. Tengo una reducción de 1:4 para el minutero y 200 pasos por rotación. También tengo microstepping 1/4 en el conductor del motor (la cantidad mínima antes de que se saltarán los pasos). Por esto, necesitaba 3200 pasos por hora. Esto significa que el reloj le paso una vez cada 1,125 segundos. Esto es extraño, un reloj que no paso cada segundo, pero funciona.
Los 2 interruptores en la parte posterior hará que el tiempo de subir y bajar. sosteniendo ambos al mismo tiempo durante 3-5 segundos cambiará el modo entre el modo normal de funcionamiento y modo de funcionamiento rápido. En circunstancias normales, que no es necesario el modo rápido, pero lo necesito y no es de la forma.
Si el reloj está funcionando mal, desconecte la alimentación eléctrica y gire el cable del motor paso a paso 180 grados. Ahora el motor debe funcionar bien.
El código es universal suficiente que debe funcionar en cualquier microcontrolador compatible Arduino simplemente cambiando los números.