Paso 4: El código y y lo que hace
- El código inicial cargado con 22 sistemas línea línea RTC a la vez que el código fue cargado en el Arduino. Si dejas esta línea en el código, entonces el tiempo reiniciará cada vez que encienda el Arduino, que claramente no es bueno.
- El botón es activado por una interrupción que permite que el código comprobar el valor de buttonPushCounter a actualizar constantemente y no pasar el código entero cada vez que
- La función de bucle comprueba el valor de buttonPushCounter y actualiza la LCD basado en el actual contador de empuje
- La siguiente función, buttonPush, es la función de interrupción. Esto se llama everytime Arduino detecta un flanco ascendente en el buttonPin.
- El bigNumber función tiene dos argumentos, 'selectas' y 'compensación'. 'Seleccionar' elige que de los grandes números debe ser llamado. Puesto que la coordenada y de los números sigue siendo el mismo, sólo se requiere un desplazamiento x. Esto es lo que hace la función de desplazamiento. Todos los números dentro de la función se dibujan utilizando el comando "drawline".
- DisplayTime función hace uso de la bigNumber y los valores RTC para mostrar la hora con las compensaciones adecuadas. La razón de esto hice una función separada, es que la función de "loop()" requiere varias veces. Esto ahorra espacio y hace el código más eficiente.
- Llegando a la última, y lo que sospecho será controvertido, parte del código de la función playMusicandLight. La razón que yo no he utilizado una matriz para codificar la música, es porque el código no funciona con ella por alguna extraña razón. Mientras que el código del tono trabaja independientemente en el Arduino, no funciona dentro de este programa. Por lo tanto, me vi obligado a generar todo el código crudo para el tono. Si te interesa, hay algunos tonos muy cool aquí. Si quieres saber cómo generado el código, mira en mi blog aquí.
Eso es todo que el código está hecho!