Paso 14: Electrónica - codificador de eje
Hasta ahora, los ajustes realizados al movimiento mediante código Arduino han tenido éxito en guardar el reloj mecánico en línea con el reloj RTC. Hay algo que falta todavía. ¿Apagones?
El reloj RTC tiene una batería de respaldo que mantiene el tiempo por meses sin alimentación externa. Sin embargo, el reloj mecánico se detiene cuando la energía falla y se reanudará a partir de esa posición después de que la energía regresa.
El código garantiza que la segunda mano está completamente sincronizada con el reloj electrónico pero las otras dos manos será apagado, lejos lo mejor.
Rastrillando mi cerebro un rato, se me ocurrió otra idea.
Si uno podría decir que Arduino donde las manos se encuentran realmente, que podría correr el reloj rápido hacia delante o hacia atrás hasta que el reloj mecánico, una vez más, alinean con su maestro electrónico.
OK, tenemos un OLED exhibición que vamos a poner a utilizar para ese propósito. Hay tres secciones principales en el circuito de Arduino. Una sección lleva el motor y hace los ajustes finos de segunda mano. Otra sección se utiliza para indicar el Arduino donde se encuentran las manos. La tercera sección realiza el ajuste de la gama grande del reloj mecánico. Lenguaje de Arduino (C++) no ni tiene una instrucción GoTo. Por lo tanto, utilizamos indicadores que hacen una sección de código para ser saltados o ejecutar.
Cuando el sistema arranca, se supone que el reloj no muestre la hora correcta. Tres botones en la caja de control ahora están activos. La pantalla muestra tres lugar donde espera que el usuario introduzca los valores actuales para horas, minutos y segundos. Un botón mueve la 'zona activa' de la hora el minuto y el segundo. El segundo botón avanza los números de 0 a 11 ó de 0 a 59.
Finalmente, el tercer botón sale de estos parámetros, calcula el error y hace que una sección de código ejecutar donde las manos se mueven rápido hasta que estén en la posición correcta. Algunas maniobras había que hacer para cuidar de la conversión de 24 a 12 horas y el tratamiento de la hora 12. Cuando se calculó la corrección, asume que el reloj se ajustará al instante.
Por supuesto no es cierto. Necesita tiempo para hacer el ajuste. I este tiempo medido y un factor fudge ha añadido a la rutina de ajuste. Especie de trabajado como las manos tuvieron que ser cambiado sólo por un corto período.
Hay más por venir - ver siguiente paso