Étape 5: sur le firmware et supercap sauvegarde
Ce firmware a été conçu avec le compilateur Sourceboost et utilise la bibliothèque Sourceboost I2C pour parler à la puce de la CCF. J’ai dû modifier le pilote i2c pour utiliser des délais plus longs pour obtenir un fonctionnement fiable.Le firmware s’initialise io, puis lit toutes les dix secondes ou plus (vous pouvez modifier cela dans le code si vous voulez une plus rapide mise à jour ou mise à jour aléatoire fois. J’ai trouvé cette période pour être le moins gênant). Si les touches sont détectés, puis il va dans la routine de changement de temps horloge qu’avec une pression d’interrupteur un.
Lors de la conception est également un espace pour un supercap. Je n’ai pas testé, mais une installation devrait permettre à l’horloge gérer les coupures de courant pendant une courte période de temps.
Dans le firmware une fois que les données RTC sont lu, une routine prend les valeurs de chiffres et assigne une sélection aléatoire de LEDs actives à ce chiffre, le même nombre que la valeur de chiffre. Celles-ci sont conservées dans une table. Une routine d’interruption prend une valeur hors de la table à la fois et les envoie aux puces de pilote de LED, et un voyant s’allume (en fait deux, un par puce). Prochaine inscription à la routine obtient un autre et ainsi de suite. Lorsqu’il est exécuté assez vite la LED actif dans le tableau que tous semblent être allumé en même temps. Vous pouvez modifier le calendrier de la routine d’interruption pour le rendre plus rapide si vous le souhaitez.
S’amuser et si vous construisez l’un d'entre eux en quelque chose de cool... envoyez moi une photo.
Philip Pulle
www.rgbsunset.com