Étape 4: Notes relatives à l’algorithme
Chaque colonne de la matrice de LED indique un chiffre. Séparation. les heures, minutes et secondes dans les deux chiffres unique est trivial...
- Isoler le premier chiffre en entier-divisant les heures de 10 (sans reste).
- Téléchargez la seconde division module (reste seulement) par 10.
Nous éclairer LED(s) une colonne pour qu’ils correspondent à la représentation binaire du chiffre approprié. Pour ce faire, nous utilisons setRow() fonction de la bibliothèque ledcontrol.h trois arguments--
- Numéro de matrice (la bibliothèque prend en charge jusqu'à 8 par instance). Comte commence à 0, et c’est le numéro utilisé dans cette esquisse, comme nous l’avons qu’une seule matrice.
- Numéro de la colonne (à partir de la gauche, numérotée 0-7). Tel qu’utilisé, colonnes 0 et 1 correspondent aux chiffres de première et seconde de l’heure, respectivement.
- Octet qui décrit, de haut en bas, les LEDs pour mettre en marche (1 = on).
Les chiffres unique heure/minute/seconde sont retournés sous forme de nombre entier décimal (c'est-à-dire 0-9). Ils doivent être convertis pour (« jeté » comme, dans le langage de programmation) les valeurs d’octets requis (binaire) à l’aide de la fonction byte().
SetRow(), sur ma matrice, remplit des voyants en ligne avec les broches d’entrée/sortie, mais le bit le moins significatif ("bottom") est plus proche pour les broches de sortie--je l’appellerais monté à l’envers. (Essayez avec votre propre matrice LED). Notez que vous auriez besoin d’inverser l’ordre de mathématiques au niveau du bit pour monter votre matrice LED à droite vers le haut et utiliser la fonction SetColumn si vous voulez monter sur le côté.