Étape 6: NerdClock - le logiciel Arduino
Un ami à moi a fait l’essentiel du travail logiciel génial pour obtenir cette horloge fonctionne parfaitement. Une des choses plus cool est qu’il a fait le code facilement extensible avec le code, que vous pouvez ajouter vous-même pour faire le réveil peut-être à faire des choses que vous voulez qu’il fasse. J’ai nettoyé le logiciel un peu plus pour la lecture plus confortable. Vous trouverez également toutes les explications ici dans le code.
Vous pouvez...
- ... régler manuellement l’exactitude de l’horloge en changeant timeDivider
- ... ajouter plus de couleurs pour laisser le fondu de couleur de fondu par en augmentant colorLength et ajout de couleurs à la couleurs de tableau int [] [3] = {{255 - R1, 255 - G1, 255 - B1}, {255 - R2, 255 - G2, 255 - B2}, {255 - Rn, 255 - Gn, 255 - Bn}}. Par défaut, il s’estompera à travers le spectre de l’arc-en-ciel en douceur.
- ... régler le temps, il est assis sur une couleur en changeant colorDelay
- ... régler à quelle vitesse le processus de décoloration prendra
- ... ajouter plusieurs modes de couleur (vert par exemple statique) en augmentant la ledModesNum et en ajoutant votre propre si des conditions.
Voici comment la routine de la boucle fonctionne à peu près :
- Vérifiez pour quel mode de LED, c’est sur. Ensemble de potentiomètre se fanent ou manuel ?
- Vérifiez si un de l’époque défini boutons est pressé
- Vérifier si l’utilisateur a décidé d’arrêter l’horloge en appuyant sur la touche correspondante
- Vérifier si l’utilisateur a décidé de changer le mode de la LED en appuyant sur la touche correspondante
- Vérifier si une seconde a passé. Si oui -> secondes augmentation par l’un -> redraw matrice
Problèmes connus :
Inexactitude. L’horloge utilise la fonction millis() pour calculer le temps et c’est inexact. La précision que selon moi dépend de la source d’horloge et varie de cristal de cristal. Mine est désactivée par une minute toutes les 24 heures
NerdClock_FirmwareV1.ino