Paso 3: Código: 1
Esto es probablemente la parte más difícil de este proyecto (para mí de todos modos). Todos mis bocetos anteriores de Arduino han sido programas críticos bastante simple, no el tiempo. Con un reloj de tiempo lo es todo. Es imperativo que el código se ejecuta sin problemas y rápidamente como sea posible. Cualquier retraso en el proceso podría potencialmente deshacerse del reloj entero.
Uno de mis amigos recomienda una secuencia de interrupción a utilizar para el momento. De esta manera pude asegurarme de en cada 1/30 de segundo la interrupción del fuego y añadir 1 en el intervalo de tiempo más pequeño, en este caso el 1/30 del segundo. La interrupción también impediría que el momento de ser lanzado apagado. Para lograr esto es utilizar el Timer1 en el Arduino y configurado como un temporizador partido comparar. Básicamente, las cuentas del contador de tiempo durante cada reloj ciclo del micro-controlador, y una vez que alcanza un número predefinido, que provoca la interrupción servicio rutinario, o ISR Explicar como funciona esto está fuera del alcance de este instructable, pero hay una cantidad considerable de información en la web, así como numerosos instructables que explican muy bien este concepto.
Adjunto el código más reciente. Usé algunos del código para la pantalla de Thompson Blair en www.justblair.co.uk