Stap 5: over de firmware en supercap back-up
Deze firmware is ontworpen met de compiler van de Sourceboost en de Sourceboost I2C-bibliotheek gebruikt om te praten met de RTC-chip. Ik moest wijzigen de i2c-driver voor het gebruik van langere vertragingen om betrouwbare werking.De firmware vooruitgangsbalk io, dan leest de elke tien seconden of zo (u kunt dit in de code als u wilt dat een snellere update of willekeurige update tijden. Ik vond deze periode tot en met de minste afleidend). Als toetsaanslagen worden gedetecteerd dan gaat het in de routine van de verandering van klok-tijd, totdat verlaten met een druk op de schakelaar een.
Ook is in het ontwerp een ruimte voor een supercap. Ik heb dit niet getest, maar installeren men mag de klok te hanteren stroomuitval voor een korte periode van tijd.
In de firmware zodra de RTC-gegevens wordt gelezen, een routine neemt de cijfer-waarden en wijst een willekeurige selectie van actieve LEDs op dat cijfer, evenveel als de waarde van de cijfers. Deze worden bewaard in een tabel. Een interrupt routine neemt één waarde uit de tabel tegelijk en stuurt hen naar de LED bestuurder chips, en een LED brandt (eigenlijk twee, één per spaander). Volgende item aan de routine krijgt een andere en zo verder. Bij het uitvoeren van snel genoeg de LEDs die actief zijn in de tabel lijken te worden verlicht op hetzelfde moment. U kunt de timing van de interrupt routine om het te maken sneller als je wilt wijzigen.
Veel plezier, en als je een van deze in iets afkoelen bouwen... Stuur me een foto.
Philip Pulle
www.rgbsunset.com