Étape 3: Prototypage a continué
ShiftDatas.ino conserve fondamentalement le tableau qui a les octets pour chaque caractère ou le numéro qui peut être affiché.
Il a également l’affichage () fonction qui est fondamentalement se déplace sur un octet par caractère pour un chiffre, il s’éteint, déplacements sur un octet différent et s’éteint un autre chiffre. C’est le multiplexage.
C’est le tableau de caractères. Vous pouvez appeler un certain octet « n » en appelant les chiffres [n].
Comme je le disais plus tôt, Q0, Q1, Q2, Q3, Q4, Q5, Q6 et Q7 chaque contrôle a, b, c, d, e, f, g et dp respectivement.
Si je voulais afficher le chiffre « 0 », j’ai besoin de tourner sur des segments a, b, c, d, e et f. Cela signifie la Maj registre doit passer des 0b11111100, c'est-à-dire un hexadécimal 0xFC.
Voilà comment je l’ai fait.
Vous vous souvenez plus haut comment j’ai écrit affichage (dig1, dig2, dig3, dig4) dans le code de visionnage ?
Chaque argument est géré dans cette fonction.
Permet de dire que je voulais afficher 04:20. Cela signifie dig1 est 0, dig2 est de 4, dig3 est 2, et dig1 est 0.
Pour afficher tous les nombres, j’ai procédez comme suit :
- déplacement des bouts pour 0, tourner sur dig4
- désactiver dig4, décaler des bouts pour 2, tourner sur dig3.
- désactiver dig3, décaler des bouts pour 4, tourner sur dig2.
désactiver dig2, décaler des bouts pour 0, tourner sur dig1.
Et puis le cycle pour toujours. Le microcontrôleur fait donc rapidement les nombres semblent montrer en même temps, bien que chacun d’eux est allumer et éteindre vraiment rapide.