Stap 3: Programming - de schets van de Word-klok
Ik ben begonnen met de opensource DS1302 RTC schets door "Krodal" zoals dit had al de interface tussen de Arduino en die module gecodificeerd. Er is veel in de voorbeeld-schets en het is een prachtig stuk werk, een geweldig veel dank gaat uit naar Krodal voor die bron.
Op de top van de bron van de Krodal, voegde ik de code voor het inschakelen van de 8 x 8 LED Matrix en knop array, maar ik moest ook komen met een manier om te lezen en de BCD opgemaakt tijdgegevens weergeven als matrix vectoren.
Mijn leven was een beetje gemakkelijker gemaakt door het besluit dat de klok zou alleen de zorg over de uren, minuten en AM/PM Staten. Ik was niet van plan om zorg over schrikkeljaren of Daylight Saving Time.
De displayTime functie krijgt de uren en minuten en vervolgens door een reeks van verklaringen van het geval , de tijd verandert in een matrix vector kaart.
De minuteString functie wordt gebruikt door de functie displayTime om te verfijnen de tijdweergave voor minuten.
De plusTime functie wordt gebruikt om de aanwas van de uren en minuten en schakelen tussen AM en PM.
Er is een functie van de uitgevoerde minusTime schakelen tussen AM en PM te verlagen van de uren en minuten.
Tot slot heb ik een bos van timemanagement en beheer van de knop toegevoegd aan de lusstructuur .
Ik ben met behulp van 4 knoppen in de Word-klok:
- Knop A - stappen uur
- Knop B - minuten stappen
- Knop C - knevels AM/PM
- Knop D - verhoogt de helderheid van de LED
In alle gevallen de toename is een looping structuur die keert terug naar 0 wanneer de waarde is het hoogste waarde (HH = 0 - 12, MM = 0 - 59, helderheid = 0 - 16).