Paso 5: sobre el firmware y supercap backup
Este firmware ha sido diseñado con el compilador Sourceboost y utiliza la biblioteca de Sourceboost I2C para hablar con el chip RTC. Tuve que modificar el controlador i2c para utilizar demoras más largas para conseguir un funcionamiento fiable.Entonces el firmware inicializa io, lee cada diez segundos o menos (se puede modificar esto en el código si desea una actualización más rápida o actualización al azar veces. Encontré este período a lo menos distraer). Si se detecta la pulsación de las teclas es en la rutina de cambio de tiempo de reloj hasta que salga con una pulsación del interruptor uno.
También en el diseño es un espacio para un supercap. No he probado esto, pero instale uno debe permitir el reloj manejar cortes de energía por un período corto de tiempo.
En el firmware una vez que se leen los datos RTC, una rutina toma los valores del dígito y asigna una selección al azar de LEDs activos a esa cifra, el mismo número que el valor del dígito. Estos se guardan en una tabla. Una rutina de interrupción tiene un valor de la tabla a la vez y los envía a los chips de controlador de LED, y un LED se enciende (en realidad dos, uno por cada chip). Siguiente entrada a la rutina obtiene otro y así sucesivamente. Cuando se ejecuta lo suficientemente rápido el LED activo en la tabla que todos parecen activarse al mismo tiempo. Puede cambiar el tiempo de la rutina de interrupción para que sea más rápido si lo desea.
Diviértete y si construcción uno de estos en algo fresco... mandame una foto.
Philip Pulle
www.rgbsunset.com