En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage (4 / 5 étapes)

Étape 4: Ports i/o conserver avec un changement de Registre

Alors maintenant notre microcontrôleur peut envoyer des données à la dot matrix LED mais c’est à l’aide de huit ports d’e/s. Qui exclut l’utilisation un ATtiny dans un paquet DIP 8 broches et même avec un Arduino nouvelle sportives une ATmega328p qui est un grand nombre de ports d’e/s pour une LED. Nous pouvons contourner ce problème, cependant, à l’aide d’un circuit intégré appelé à un changement de registre.

Un moment de « vitesses »...
Un registre à décalage peut être compris mieux par la pensée les deux mots qui composent son nom: « shift » et « enregistrer ». Le changement de mot se réfère à la façon dont les données sont déplace dans le registre. Ici (comme dans notre Arduino et microcontrôleurs, en général) un registre est un emplacement qui conserve les données. Il fait ceci en implementsing une chaîne linéaire des circuits de logique numériques appelé « tongs » qui possède deux États stables qui peuvent être représentées par un 1 ou 0. Ainsi, en mettant huit tongs ensemble que vous avez un dispositif capable de retenir et qui représente un octet de 8 bits.

Juste comme il y a plusieurs types de tongs et plusieurs variations sur un thème de registres à décalage (pense que vers le haut/bas, compteurs Johnson compteurs), il existe également plusieurs types de registres à décalage basés sur combien de données sont verrouillées dans le registre et comment ces données sont sortie. Sur cette base, considérez les types suivants de registres à décalage :

  • Série / parallèle à (SIPO)
  • Série / Serial Out (SISO)
  • Parallèle en / série Out (PISO)
  • Parallèle / parallèle à (PIPO)

Deux de note sont SIPO et PISO. Registres SIPO récupérer des données en série, c'est-à-dire un peu après l’autre, déplaçant le bit précédemment d’entrée sur la prochaine flop flip et envoie les données sur tous les entrées à la fois. Cela fait une belle série de convertisseur parallèle. Registres à décalage PISO, ont à l’inverse, les entrées parallèles, donc tous les bits sont entrés en même temps, mais sont de sortie, un à la fois. Et vous l’aurez deviné, ce qui rend pour un beau parallèle serial Converter. Le registre à décalage que nous voulons utiliser pour réduire le nombre de broches e/s nous permettrait de prendre ces 8 broches e/s, que nous avons utilisé plus tôt et de les réduire vers le bas à une, ou peut-être juste un couple, étant donné que nous devrons contrôler comment nous saisir les bits. Nous allons utiliser le registre à décalage est donc une série / parallèle en dehors.

Associer le registre à décalage entre le voyant et l’Arduino
À l’aide d’un registre à décalage est facile. La partie la plus difficile est juste visualiser les broches de sortie de données et comment les chiffres binaires se retrouveront dans l’IC, et comment ils montreront finalement sur la LED. Prenez le temps de planifier ce point.

1. Fixez 5V sur la broche 14 (en haut à droite) et prendre la broche 7 (en bas à gauche) jusqu’au sol.
2. le registre à décalage a deux entrées, mais nous allons seulement utiliser un, donc relier la broche deux à 5V
3. nous n’utilisez pas le code pin clair (occasion de mettre à zéro toutes les sorties) donc laisser flottantes ou de l’attaquer à 5V
4. Raccordez un port d’e/s numérique à broche d'entre le registre à décalage. Il s’agit de la broche d’entrée série.
5. Branchez un port d’e/s numérique à broche 8 (en bas à droite). Il s’agit de l’axe de l’horloge.
6. connecter vos lignes de données de Q0 à Q6. Nous utilisons seulement 7 bits, car le jeu de caractères ASCII utilise seulement sept bits.

J’ai utilisé PD2 pour la sortie de mes données sérielles et PD3 pour le signal d’horloge. Pour les broches de données, j’ai branché Q0 à D6 sur la LED et en continuant de cette façon (Q1 à D5, Q2 à D4, etc.). Étant donné que nous envoyons les données en série que nous devrons examiner la représentation binaire de chaque caractère nous voulons envoyer, en regardant de 1 et de 0 et la sortie de chaque bit sur la ligne série. J’ai inclus une deuxième version de la source de dotmatrixled.c avec un Makefile ci-dessous. Il permet de sélectionner le jeu de caractères et affiche les caractères tout de même (si il est bizarre de penser qu’une lettre peut être pair ou impair, pensez à la représentation binaire pour un moment). Essayer de comprendre comment le faire passer en affichant tous les personnages étranges. Vous pouvez également expérimenter avec les connexions entre le registre à décalage, la dot-matrix LED et votre Arduino. Il y a plusieurs fonctionnalités de contrôle entre le LED et le Registre qui peut vous permettre d’affiner votre contrôle sur quand les données sont affichées.

Alors... nous sommes passés de devoir utiliser huit ports d’e/s à l’aide de seulement deux !

Articles Liés

16 x 8 LED dot matrix avec module MAX7219

16 x 8 LED dot matrix avec module MAX7219

16 x 8 LED dot matrix avec module MAX7219L'objectif de ce projet est : pour montrer l'utilisation du module « module d'affichage matricielle MAX7219 MCU contrôle bricolage »Afin de l'utiliser, vous aurez besoin du module qui peut être acheté sur ebay
Conduite de deux tubes Nixie avec un Arduino via un registre à décalage et deux SN74141s.

Conduite de deux tubes Nixie avec un Arduino via un registre à décalage et deux SN74141s.

tubes Nixie sont vraiment cool, à la recherche et deviennent très populaires pour leur look « rétro ». Bien qu'il existe un certain nombre de tutoriels là-bas sur l'utilisation de tubes nixie et certaines unités préemballées sympa (voir ces gentils d
Affichage à LED Dot Matrix

Affichage à LED Dot Matrix

dans ce projet, vous doit encore utiliser deux jeux de registres à décalage. Ceux-ci seront connectés aux lignes etcolonnes de l'affichage à matrice de points. Vous montrerez ensuite un objet simple, ou sprite, sur l'écran etl'animer. L'objectif prin
En utilisant une LED RGB pour détecter les couleurs

En utilisant une LED RGB pour détecter les couleurs

je vais vous montrer comment vous pouvez utiliser une LED RVB et une cellule photoélectrique de CD comme un capteur de couleur pour un micro-contrôleur. Je vais illustrer la méthode pour récupérer une couleur à l'aide d'Arduino, et je vais vous montr
Comment utiliser une LED RGB - Arduino Tutorial

Comment utiliser une LED RGB - Arduino Tutorial

Une LED RGB a 4 broches, un pour chaque couleur (rouge, vert, bleu) et une cathode commune. Il dispose d'arbre différente couleur-électroluminescentes qui peuvent être combinés pour créer toutes sortes de couleur ! N'importe quelle couleur est possib
Laser fil‑piège utilisant une LED

Laser fil‑piège utilisant une LED

Saviez-vous que les LEDs peuvent être utilisés comme les émetteurs de lumière ainsi que des détecteurs de lumière ? Les plus étonnant Forrest Mims découvert cela depuis des décennies et a plusieurs projets mettant en évidence ce concept. C'est ce qui
À l’aide d’une manette de jeu avec votre Arduino

À l’aide d’une manette de jeu avec votre Arduino

Manettes de jeu sont une grande source d'entrée pour un projet. Surtout pour la robotique. Comme les pirates de matériel, la plupart d'entre nous ont toujours aimé ces sortes de choses. Sauf les nouveaux gars cela pourraient trouver difficile à saisi
Température de la pièce en affichage Dot-Matrix avec Arduino et LM35

Température de la pièce en affichage Dot-Matrix avec Arduino et LM35

Hé là !Il s'agit de mon premier instructable, et je vais vous montrer comment vous pouvez interfacer avec un capteur de température et un affichage de point-matrice avec arduino en temps réel.J'ai joint le sketch arduino, qui est un peu gros, un coup
Arduino RGB LED Dot Matrix Conseil

Arduino RGB LED Dot Matrix Conseil

ce projet est une planche de musique bricolage relativement simple et direct.Le jury de matrice de points permettra à toute personne âgée de créer leur propre musique et rythmes.Tout ce que vous devez avoir est une compréhension de l'Arduino et circu
En utilisant une LED pour un capteur de lumière

En utilisant une LED pour un capteur de lumière

jusqu'à une date récente, CdS (sulfure de Cadmium) photo-résistances ont été couramment utilisés pour des applications de captage de la lumière. Malheureusement, ils ont des problèmes. Puisque les cellules CdS contiennent du cadmium, un métal lourd t
Comment utiliser une scie à ruban horizontale (avec exactitude et précision)

Comment utiliser une scie à ruban horizontale (avec exactitude et précision)

il s'agit d'une scie à ruban horizontale.  Il est généralement utilisé pour couper le stock à la longueur approximative, mais avec quelques astuces et un peu de finesse vous pouvez l'utiliser pour couper avec précision (à moins de quelques milliers)
Comment utiliser une LED RGB

Comment utiliser une LED RGB

à l'aide d'une LED RVB, vous pouvez faire défiler toutes les couleurs. Utile pour faire, lampe d'ambiance, robot expressif ou des effets de lumière froide.Mais pour définir simplement la couleur (teinte) peut être un peu délicat parce que vous avez b
Utilisez une vraie pédale avec Guitar Hero World Tour (même votre pédale destroyer... sorte de)

Utilisez une vraie pédale avec Guitar Hero World Tour (même votre pédale destroyer... sorte de)

j'adore le groupe de rock et j'aime aussi Guitar Hero World Tour. Certains d'entre vous peuvent avoir faite votre propre pédale ou acheté la pédale destroyer pour votre set de batterie rock band. Certains d'entre vous comme moi peuvent avoir connecté
Comment utiliser une résistance sensible de Force - Arduino Tutorial

Comment utiliser une résistance sensible de Force - Arduino Tutorial

Dans ce tutoriel, vous apprendrez comment utiliser un FSR - Force de résistance sensible avec Arduino à s'estomper une LED. Ce capteur est une résistance variable comme une cellule photoélectrique ou flex capteur. Les changements de la résistance en