Arduino klocka med Standard klocka (4 / 4 steg)
Steg 4: Installera (upload) programvaran
Viola - vi har en klocka!
Du kan trycka på knappen för att ställa in tiden. Håll knappen ned till sätta den snabbt. Om du håller den längre än 5 sekunder, kommer att det gå 10 gånger så snabb.
Centrum timme: minut kolontecknet blinkar för sekunder.
Programvaran har några synpunkter att hjälpa dig att räkna ut det, men i huvudsak det håller reda på tiden genom att kontrollera värdet av millis() och varje gång 1000 millis har gått det steg 1 sekund. Millis() returnerar antalet millisekunder sedan startades.
Uppenbarligen kommer inte detta vara så korrekt som med hjälp av en realtidsklocka (RTC), men det är bra nog för massor av roliga projekt med tiden.
Du kommer att märka att jag bort 1000 från tiden spåra variabel, i stället för att återställa till den nuvarande millis() - Detta hjälper det förbli ganska exakt. Koden som uppdaterar tiden kommer att ta tid att köra, och klockan skulle förlora några millisekunder varje gång vi gör det. Detta sätt håller den jämfört med den ursprungliga starttiden och noggrannheten beror på precisionen i millis(), som jag antar är ganska anständigt.
Också, med hjälp av en delay() för att räkna till nästa andra skulle blockera chip från andra saker, som att upptäcka tryck på knapp.
PS, för knappkoden jag tungt lånat från det grundläggande knapp exempel som levereras med Arduino programvara. Min användning är något annorlunda, men jag Dämpningstid det på samma sätt.
Jag märkte också att olika siffror olika ljusstyrka - siffran man har till exempel 2 lysdioder lyser, medan 8 har 7 LED - belysning 7 lysdioder på samma tid gör det en rättvis lite dimmer. För att kompensera, hålla jag bara varje siffra på för en viss tid multiplicerat med antalet segment i denna siffra.
Njut!