Paso 2: Construir la electrónica del reloj
Microcontrolador
Los cerebros de este proyecto es un microcontrolador PIC 16F628A. Seguimiento de tiempo y activa el motor paso a paso cuando sea necesario.
Botones
La interfaz es muy simple, se compone de dos botones. Cuando se presiona el botón izquierdo el reloj avanza tiempo usando el motor. Cuando se pulsa el botón derecho el disminuye la hora usando el motor. El único problema es cuando se necesita corregir a tiempo por muchas horas que tendría que mantener el botón presionado durante mucho tiempo. También siempre se energiza el motor paso a paso para evitar que los engranajes se deslicen. Para resolver este problema cuando se presionan ambos botones del paso a paso motor es digitales y el engranaje minuto puede girar libremente.
Motor
El motor es un motor de pasos unipolar que ha sido aprovechado de una vieja disquetera de 5 1/4 de pulgada. Este es el motor que mueve la lectura escribir cabezas y hacia atrás, para conseguir una de este tamaño y potencia que usted necesitará encontrar un viejo agradable. Modernas unidades de disco flexible no tienen motores PAP con este nivel de esfuerzo de torsión.
Este motor mueve 1,8 grados por pulso que significa que con 200 lo pulsos hará una rotación completa. Ya que es un motor bipolar es simple para el PIC conducir con sólo 4 transistores.
Código
El código se divide básicamente en dos secciones, hay un bucle iterativo que controla los botones de un cambio en el estado y comprueba si el reloj interno ha cruzado la marca de 9 segundos. Si una de esas condiciones se ha producido que el motor paso a paso es conducido apropiadamente.
La otra sección de código es interrupción conducido y realiza un seguimiento de tiempo. Una interrupción se activa cada 0.1 segundos y ajusta un reloj interno según sea necesario. Hay un verdadero funcionamiento reloj dentro, si conectas el pin PIC de reloj 6 a un funcionamiento de equipo puerto serie a 9600 bps que se verá los valores del reloj interno actualización una vez por segundo. En este caso el valor del reloj es arbitrario ya que nunca se muestra y no será el mismo que lo que muestran los engranajes pero este mismo código se utilizará en el futuro proyectos que utilizará este tiempo de visualización de código.