Stap 4: Installatie (upload) de software
Altviool - wij hebben een klok!
U kunt de druk op de tijd in te stellen. Houd de knop ingedrukt om het snel. Als je het langer dan 5 seconden houdt, zal het gaan 10 keer zo snel.
De centrum uur: minuut dubbele punt knippert de seconden.
De software heeft enkele opmerkingen kunt u het uit, maar in wezen houdt het spoor van tijd door de waarde van millis() te controleren, en telkens wanneer 1000 millis zijn gegaan door het 1 seconde wordt verhoogd. Millis() geeft het aantal milliseconden sinds opstarten.
Uiteraard zal dit niet zo nauwkeurig als met behulp van een real time clock (RTC), maar het is goed genoeg voor veel plezier projecten op het gebied van tijd.
U zult merken dat ik 1.000 van de tijd bijhouden van variabele, in plaats van opnieuw instellen op de huidige millis() verwijderen - dit helpt blijft vrij nauwkeurig. De code die de tijd bijgewerkt zal even duren om uit te voeren, en de klok een paar milliseconden zou verliezen telkens als we dat doen. Op deze manier houdt het in vergelijking met de oorspronkelijke begintijd en de nauwkeurigheid is afhankelijk van de nauwkeurigheid van de millis(), die ik denk vrij fatsoenlijk is.
Ook zou met een delay() te tellen tot het volgende tweede blokkeren de chip van andere dingen, zoals het opsporen van de druk op de knop.
PS, voor de knopcode die ik zwaar geleend van de fundamentele knop voorbeeld dat wordt geleverd met de Arduino software. Mijn gebruik is iets anders, maar ik debounce het op dezelfde manier.
Ik heb ook gemerkt dat verschillende cijfers had verschillende helderheden - bijvoorbeeld, het cijfer een 2 LEDs verlicht heeft, terwijl 8 7 LEDs heeft-7 LEDs verlichting op hetzelfde moment het een eerlijke beetje dimmer maakt. Om dit te compenseren, hou ik je gewoon elk cijfer op voor een vast bedrag van tijd vermenigvuldigd met het aantal segmenten in die cijfers.
Geniet van!