Étape 6: Matrice de LED multiplexage
Maintenant associer toutes les tiges au sol de la matrice de LED aux broches 6 à 13 de l’Arduino. Voici les branchements de la broche :
rang 1 - Arduino D6 (broche numérique 6)
rang 2 - Arduino D7
rang 3 - Arduino D8
rang 4 - Arduino D9
rang 5 - Arduino D10
ligne 6 - Arduino D11
ligne 7 - Arduino D12
ligne 8 - Arduino D13
Et exécutez le code suivant :
Vous devriez voir le même modèle de LED s’allument en une seule ligne à la fois (seconde image) que chaque ligne est mise à la terre un par un. Maintenant essayez de diminuer le délai, le patron se déplace à travers les lignes plus rapidement et plus rapidement. Maintenant enlever le retard tout à fait, vous devriez voir toutes les lignes éclairés (ce qui semble être) en même temps (troisième image). Voici une démonstration vidéo (cette fois, à l’aide de différents modèles pour éclairer chaque ligne, je vais expliquer plus sur ça bientôt) :
Ceci est appelé multiplexage. Même s’il semble que nous sommes allumage de plusieurs rangées de LEDs en même temps, nous savons que nous sommes réellement éclairage chaque ligne un par un, mais nous le faisons tellement vite que nous avons dupé nos yeux en pensant que ça se passe en même temps. Multiplexage est utile n’importe quel moment à vouloir contrôler beaucoup de choses avec relativement peu d’épingles. Au lieu de câblage vers le haut de chaque LED individuellement, nous pouvons les multiplex et réduire les coûts et beaucoup de tracas.
Maintenant essayez d’envoyer différents modèles à différentes lignes :
Exécutez ce code lentement dans un premier temps, nous voyons qu’une ligne est envoyée à un motif et le rang suivant est envoyé un modèle différent, cela alterne entre toutes les lignes de la matrice. Voici comment j’ai fais ceci :
Si (pinNum%2==1){//is pinNum est impair
% est appelé "modulo", c’est comme la division, mais au lieu de retourner pinNum/2, elle retourne le reste de cette opération. Donc, si pinNum = 6, pinNum %2 = 0, car 2 passe en 6 uniformément. Si pinNum = 7, puis pinNum %2 = 1. Cela me donne un moyen facile de déterminer quelles lignes sont des nombres pairs et qui sont impairs. En utilisant cette information, je peux envoyer des modèles différents pour les lignes alternantes.
Maintenant essayez de supprimer le délai à partir du code. Vous devriez voir un motif en damier émerger sur la matrice de LED (quatrième image). En envoyant un modèle différent à chaque ligne et vélo à travers les lignes individuellement, vous pouvez contrôler exactement qui LEDs sont activé et désactivé. Essayez ce qui suit :
Ce code définira seulement A5 haut de la ligne connectée à la broche 8. Il s’allume seul LED dans la matrice (cinquième image).