Table des matières:

Affichage matriciel à LED à défilement 48 X 8 à l'aide d'Arduino et de registres à décalage : 6 étapes (avec images)
Affichage matriciel à LED à défilement 48 X 8 à l'aide d'Arduino et de registres à décalage : 6 étapes (avec images)

Vidéo: Affichage matriciel à LED à défilement 48 X 8 à l'aide d'Arduino et de registres à décalage : 6 étapes (avec images)

Vidéo: Affichage matriciel à LED à défilement 48 X 8 à l'aide d'Arduino et de registres à décalage : 6 étapes (avec images)
Vidéo: 4 1 Les afficheurs matriciels 2024, Juillet
Anonim
Affichage matriciel à LED à défilement 48 X 8 utilisant Arduino et registres à décalage
Affichage matriciel à LED à défilement 48 X 8 utilisant Arduino et registres à décalage
Affichage matriciel à LED à défilement 48 X 8 utilisant Arduino et registres à décalage
Affichage matriciel à LED à défilement 48 X 8 utilisant Arduino et registres à décalage

Bonjour à tous

Il s'agit de mon premier Instructable et il s'agit de créer une matrice de LED à défilement programmable de 48 x 8 à l'aide d'un Arduino Uno et des registres à décalage 74HC595. C'était mon premier projet avec une carte de développement Arduino. C'est un défi que m'a lancé mon professeur. Au moment d'accepter ce défi, je ne savais même pas comment faire clignoter une LED à l'aide d'un arduino. Donc, je pense que même un débutant peut le faire avec un peu de patience et de compréhension. J'ai commencé par une petite recherche sur les registres à décalage et le multiplexage dans arduino. Si vous débutez avec les registres à décalage, je vous recommande d'apprendre les bases du multiplexage et de la connexion en guirlande des registres à décalage avant de commencer avec les matrices. Cela vous aidera beaucoup à comprendre le code et le fonctionnement de l'affichage défilant.

Étape 1: Rassembler les outils et les composants

Rassembler les outils et les composants
Rassembler les outils et les composants

Composants

  • 1. Arduino Uno R3-1
  • 2. 74HC595 Registres à décalage série-parallèle 8 bits. - 7
  • 3. Transistors BC 548/2N4401 - 8
  • 4. Résistances 470 Ohms - nombre de colonnes + 8
  • 5. Conseil Préf 6x4 pouces - 4
  • 6. Fils codés par couleur - Au besoin
  • 7. Supports IC - 7
  • 8. Matrice LED mono couleur à cathode commune 8x8 5 mm ou 3 mm - 6
  • 9. En-têtes masculins et féminins - Au besoin.

Outils nécessaires

  • 1. Kit de soudure
  • 2. Multimètre
  • 3. Pistolet à colle
  • 4. Pompe à dessouder
  • 5. Alimentation 5V

Étape 2: Construire le circuit sur une planche à pain

Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain
Construire le circuit sur planche à pain

La première chose que vous devez faire avant de construire le prototype est d'obtenir un schéma de broches de votre matrice 8x8 et de marquer un point de référence pour identifier les broches dans toutes vos matrices. Cela pourrait vous aider lors de l'assemblage du circuit.

J'ai joint un schéma des broches du module matriciel que j'ai utilisé ici. Dans mon module, les rangées étaient les broches négatives. Ce schéma de broche reste le même pour la plupart des modules du marché.

Il est montré dans le circuit qu'un seul registre à décalage est utilisé pour contrôler les 8 lignes et pour contrôler les colonnes, nous utilisons un registre à décalage pour chaque 8 colonnes.

Construisons un simple écran de défilement 8 x 8 sur la planche à pain.

Le circuit est divisé en deux parties - contrôle de ligne et contrôle de colonne. Construisons d'abord le contrôle de colonne.

La broche 4 de l'arduino est connectée à la broche 14 (SER) du registre à décalage. (Il s'agit de la broche d'entrée de données série du registre à décalage. Les niveaux logiques requis pour allumer les LED sont alimentés par cette broche

La broche 3 d'arduino est connectée à la broche 12 (RCLK) du registre à décalage. (Nommons cette broche comme broche d'horloge de sortie. Les données dans la mémoire des registres à décalage sont poussées vers la sortie lorsque cette horloge est déclenchée.)

La broche 2 d'arduino est connectée à la broche 11 (SRCLK) du registre à décalage. (Il s'agit de la broche d'horloge d'entrée qui transfère les données dans la mémoire.)

VCC +5V est donné au registre à décalage via sa broche 16 et le même est connecté à la broche 10. (Pourquoi? La broche 10 est la broche SRCLR, qui efface les données dans le registre à décalage lorsqu'elle est déclenchée. C'est une broche basse active, donc afin de maintenir les données dans la mémoire du registre à décalage, cette broche doit être alimentée en +5V tout le temps.)

La masse est connectée à la fois à la broche GND (broche 8 du registre à décalage) et à la broche OE (broche 13 du registre à décalage). (Pourquoi ? La broche d'activation de sortie doit être déclenchée afin de fournir des sorties en fonction du signal d'horloge. C'est une broche basse active tout comme la broche SRCLR, elle doit donc être maintenue à l'état de masse tout le temps pour activer le les sorties.)

Les broches de colonne de la matrice sont connectées au registre à décalage comme indiqué dans le schéma de circuit avec une résistance de 470 ohms entre la matrice et le registre à décalage

Maintenant, pour le circuit de contrôle de rangée.

La broche 7 d'arduino est connectée à la broche 14 (SER) du registre à décalage

La broche 5 d'arduino est connectée à la broche 11 (SRCLK) du registre à décalage

La broche 6 d'arduino est connectée à la broche 12 (RCLK) du registre à décalage

VCC +5V est donné aux broches 16 et 10 comme décrit ci-dessus

La masse est connectée aux broches 8 et 13

Comme je l'ai mentionné ci-dessus, les rangées étaient les broches négatives dans mon cas. Il est préférable de considérer les broches négatives de votre matrice comme les lignes de votre affichage. La connexion à la terre doit être commutée sur ces broches négatives à l'aide de transistors BC548/2N4401 qui sont contrôlés par les niveaux logiques de sortie du registre à décalage. Donc, plus il y a de broches négatives, plus nous avons besoin de transistors

Donnez les connexions des rangées comme indiqué dans le schéma de circuit

Si vous avez réussi à créer le prototype d'affichage matriciel 8 x 8, vous pouvez simplement reproduire la partie du circuit pour le contrôle des colonnes et étendre la matrice à un nombre quelconque de colonnes. Il suffit d'ajouter un 74HC595 toutes les 8 colonnes (un module 8 x 8) et de le connecter en guirlande avec le précédent.

Daisy chaining les registres à décalage pour ajouter plus de colonnes

La guirlande en génie électrique est un schéma de câblage dans lequel plusieurs appareils sont câblés ensemble dans une séquence.

Le mécanisme est simple: les broches SRCLK (horloge d'entrée. Pin 11) et RCLK (horloge de sortie. Pin 12) sont partagées entre tous les registres à décalage en guirlande tandis que chaque PIN QH (Pin 9) du registre à décalage précédent dans le chaîne est utilisée comme entrée série pour le registre à décalage suivant via le PIN SER (Broche 14).

En termes simples, en chaînant les registres à décalage, ils peuvent être contrôlés comme un seul registre à décalage avec une plus grande mémoire. Par exemple, si vous enchaînez deux registres à décalage 8 bits, ils fonctionneront comme un seul registre à décalage 16 bits.

Le code

Dans le code, nous alimentons les colonnes avec les niveaux logiques respectifs en fonction de l'entrée pendant que nous parcourons les lignes. Les caractères de A à Z sont définis dans le code comme des niveaux logiques dans un tableau d'octets. Chaque caractère mesure 5 pixels de large et 7 pixels de haut. J'ai donné une explication plus détaillée sur le fonctionnement du code sous forme de commentaires dans le code lui-même.

Le code Arduino est joint ici.

Étape 3: soudure

Soudure
Soudure
Soudure
Soudure
Soudure
Soudure

Pour rendre le circuit soudé plus facile à comprendre, je l'ai rendu aussi grand que possible et j'ai donné des cartes séparées pour les contrôleurs de ligne et de colonne et je les ai connectés ensemble à l'aide d'en-têtes et de fils. Vous pouvez le rendre beaucoup plus petit en soudant les composants plus près les uns des autres ou si vous êtes bon en conception de PCB, vous pouvez également créer un PCB personnalisé plus petit.

Assurez-vous de mettre une résistance de 470 ohms sur chaque broche menant à la matrice. Utilisez toujours des en-têtes pour connecter les matrices LED à la carte. Il est préférable de ne pas les souder directement sur la carte car une exposition prolongée à la chaleur peut les endommager de façon permanente.

Comme j'ai fabriqué des cartes séparées pour les commandes de ligne et de colonne, j'ai prolongé les fils d'une carte à l'autre pour connecter les colonnes. Ici, le tableau du haut sert à contrôler les lignes et le tableau du bas sert à contrôler les colonnes.

il n'a besoin que d'un seul 74HC595 pour piloter les 8 rangées. Mais en fonction du nombre de colonnes, d'autres registres à décalage doivent être ajoutés, il n'y a pas de limite théorique pour le nombre de colonnes que vous pouvez ajouter à cette matrice. Quelle taille pouvez-vous faire? Préviens-moi quand tu seras là-bas !;)

Étape 4: Test de la première moitié finie du circuit

Test de la première moitié finie du circuit
Test de la première moitié finie du circuit

Testez-le toujours à mi-chemin pour trouver des erreurs possibles telles que des connexions desserrées, une connexion de broche incorrecte, etc.: de nombreuses personnes qui m'ont demandé de l'aide pour trouver l'erreur dans leur matrice ont commis une erreur avec le brochage de la colonne de ligne du module matriciel. Vérifiez-le deux fois avant de souder et utilisez des fils à code couleur pour distinguer facilement les broches.

Étape 5: Construire la deuxième moitié

Construire la seconde moitié
Construire la seconde moitié
Construire la seconde moitié
Construire la seconde moitié
Construire la seconde moitié
Construire la seconde moitié

Prolongez le même circuit de commande de colonne. Les rangées sont connectées en série à la précédente.

Les broches SRCLK et RCLK sont prises en parallèle et le QH (Serial data out. Pin 9) du dernier registre à décalage du circuit fini est connecté au SER (Serial Data in. Pin 14) du registre à décalage suivant. Les puissances VCC et GND sont également partagées entre tous les circuits intégrés.

Étape 6: Le résultat

Image
Image

Une fois que vous avez terminé de souder, l'étape suivante consiste à fabriquer un boîtier pour votre écran. Il est toujours préférable de concevoir un boîtier personnalisé à l'aide de Fusion 360 ou de tout autre outil de conception 3D et d'imprimer le boîtier en 3D. Comme je n'avais pas accès à l'impression 3D à l'époque, j'ai réalisé une caisse en bois avec l'aide d'un ami doué en menuiserie.

J'espère que vous avez apprécié la lecture de cette instructable. Postez les photos de votre version de ce projet dans la section commentaires ci-dessous et si vous avez des questions, n'hésitez pas à les poser ici ou à envoyer un mail à [email protected]. Je serai heureux de vous aider.

Conseillé: