Étape 4: Installer (upload) le logiciel
Alto - nous avons une horloge !
Vous pouvez appuyer sur le bouton pour régler l’heure. Maintenez le bouton enfoncé pour mettre rapidement. Si vous maintenez pendant plus de 5 secondes, il ira 10 fois plus vite.
Le côlon d’heure : minute centre clignote pendant les secondes.
Le logiciel a quelques commentaires pour vous aider à le comprendre, mais essentiellement il assure le suivi des temps en vérifiant la valeur de millis(), et chaque fois que 1000 millis se sont écoulés il incrémente de 1 seconde. Millis() retourne le nombre de millisecondes depuis le démarrage.
Évidemment ce ne sera pas aussi précis que l’utilisation d’une horloge temps réel (RTC), mais c’est assez bon pour beaucoup de plaisir les projets impliquant des temps.
Vous remarquerez que j’ai retirer le temps variable de suivi, plutôt que de réinitialisation à la millis() actuelle de 1 000 - cela lui permet de rester tout à fait exact. Le code qui met à jour l’heure prendra du temps à courir, et l’horloge perdrait quelques millisecondes chaque fois que nous le faisons. De cette façon la garde par rapport à l’heure de départ initiale et la précision dépend de l’exactitude des millis(), qui je pense est assez décent.
En outre, en utilisant un delay() à compter jusqu'à la prochaine deuxième bloquerait la puce d’autres choses, comme la détection de la touche.
PS, pour le code du bouton que j’ai emprunté fortement à l’exemple de base de button qui vient avec le logiciel Arduino. Mon utilisation est légèrement différente, mais j’ai debounce il de la même manière.
J’ai aussi remarqué que des chiffres différents ont des brillances différentes - par exemple, le chiffre d’un a 2 LEDs allumées, tandis que 8 a 7 LEDs - éclairage 7 LEDs en même temps il fait un peu juste variateur. Pour compenser, j’ai simplement conserver chaque chiffre pendant un certain temps multiplié par le nombre de segments dans ce chiffre.
Profitez !