Étape 3: Programmation - l’esquisse horloge de mots
J’ai commencé avec l’esquisse de RTC DS1302 opensource par « Krodal », comme cela avait déjà codifié l’interface entre l’Arduino et ce module. Il y a beaucoup dans l’esquisse de l’exemple et c’est un travail merveilleux, un grand Merci beaucoup aller à Krodal pour cette source.
Sur le dessus de la source de Krodal, j’ai ajouté le code pour activer le tableau matrice de LED et bouton de 8 x 8, mais j’ai aussi dû trouver un moyen de lire et d’afficher les données de temps de BCD formaté en tant que vecteurs de la matrice.
Ma vie a été un peu facilité par la décision que l’horloge serait cherche uniquement à heures, Minutes et AM/PM États. Je n’allais pas aux soins concernant les années bissextiles ou Daylight Saving Time.
La fonction displayTime obtient les heures et les Minutes et ensuite, à travers une série d’instructions case , transforme le temps en une carte vectorielle de matrice.
La fonction minuteString est utilisée par la fonction displayTime pour affiner l’affichage de l’heure pour les minutes.
La fonction de soumission est utilisée pour incrémenter les heures et les Minutes et alterner entre AM et PM.
Il y a une fonction non implémentée minusTime decrement, heures et Minutes et alterner entre AM et PM.
Enfin, j’ai ajouté un tas de gestion du temps et de la gestion de la touche à la structure de boucle .
J’utilise 4 boutons dans le Word-Clock :
- Bouton A - heures par incréments
- Bouton B - incréments Minutes
- Bouton C - cabillots AM/PM
- Bouton D - augmente la luminosité de la LED
Dans tous les cas, l’incrément est une structure en boucle qui revient à 0 lorsque la valeur atteint c’est la valeur la plus élevée (HH = 0 - 12 MM = 0 - 59, luminosité = 0 - 16).