Étape 4: Concevoir les pilotes
Ici nous allons discuter comment matériel nous aide à résoudre les problèmes ci-dessus et nous aborderons l’astuce logiciel un peu plus tard.
Donc, je sais que mon LED Etch-a-Sketch nécessitera quatre 8 x 8 matrices de LED. Cela signifie que j’ai 256 LEDs qui doivent être traitées individuellement. C’est pas mal. Alors, comment à faire ? Eh bien tout d’abord, il faut comprendre le fonctionne de la matrice de LED. La matrice donnée, que j’ai utilisé s’appelle une matrice de LED cathode commune. Il peut faire comprendre ce que cela signifie si j’ajoute un peu au nom. Permet d’appeler une rangée de cathode commune LED. Alors maintenant, nous savons que tous les cathodes dans chaque ligne sont sur la même ligne (voir la première image). Cela nous permet de contrôler un seul conduit en fournissant simplement une tension positive à la colonne et la terre sur la ligne correspondant à la LED nous voulons allumé. Pour exemple si l'on veut allumer la LED à (4,4), nous s’appliquerait au sol au 4ème rang et une tension positive à la colonne 4 comme on le voit dans la seconde image. De cela nous savons que nous devons donc contrôler toutes les lignes de la colonne. Mais qu’en est-il des lignes ligne ? Si nous avons juste attaché autant à la terre puis nous ne serait jamais capables d’avoir différentes LED allumée sur chaque ligne. Cela nous indique que nous devons aussi contrôler les lignes de la ligne.
Nous regarderons tout l’affichage comme un écran de 8 x 32 de 16 x 16 car c’est comment il va être câblé vers le haut. Vous pouvez le voir dans l’image ci-dessus. Pour contrôler un affichage de ce type, nous aurons besoin contrôler les 32 lignes pour les colonnes et 8 pour les lignes. Contrôle de la ligne est pas un problème ; Nous avons huit broches dont nous disposons sur l’uC. La seule chose à se préoccuper est de savoir comment couler le courant sans endommager l’uC. Je vais répondre qu’en une seconde. Mais d’abord nous allons comprendre comment nous allons contrôler 32 lignes lorsque nous n’avons clairement pas 32 broches uC disponibles.
L’astuce consiste à utiliser le registre de série-en parallèle-out 8-bit shift 74HC595 maniable, ou, comme je ferai référence à elle par la suite, le 595. Cette IC nous permet d’envoyer en série un octet de données à stocker dans le registre et puis quand signalé que les données apparaîtront en parallèle (simultanément) sur les broches de sortie. Il permet également des 595s multiples en cascade ou se connecter ensemble pour accepter une entrée supérieure à 8 bits. Je ne vais pas à envoyer de temps à discuter de la théorie derrière ce dispositif, qu’il y a beaucoup de ressources en ligne qui va le faire. Mais à ce stade, je suis sûr que vous pouvez le deviner où l'on va avec cela. Si nous avons quatre de ces 595s cascade ensemble nous pouvons contrôler en série toutes les lignes de la colonne 32 avec quelques épingles uC.
Nous allons rapidement revenir aux lignes. Comme mentionné ci-dessus, nous devons faire attention à ne pas envoyer tout le courant qui traverse l’uC à la terre, donc nous allons utiliser un ULN2803 à chaque matrice. Cela nous permettra de contrôler les lignes de la ligne à la fois naufrage le courant.
Nous allons parler de la façon dont ces ICs est utilisé en conjonction avec le logiciel de contrôle avec succès les matrices de la LED. Mais d’abord mettons-nous tout correctement raccordé vers le haut.