Registre à décalage 74HC595

il s’agit d’un guide de démarrage rapide pour le registre à décalage 74HC595.

Le registre à décalage fonctionne d’une manière assez simple, mais peut être modifié pour devenir très compliqué, mais très utile.

Le concept de base est que vous avez 8 broches de sortie de 74HC595.  Pour cet exemple disons juste qu'ils sont envoyés à travers une résistance à une LED.  Nous avons donc pins Q0 à travers Q7 comme les broches de sortie.  Le reste peut être considéré comme des goupilles de contrôle, leur fonction exacte est décrit dans le tableau ci-dessus.

Nous pouvons contrôler le déplacement du Registre avec des impulsions d’horloge.  Que nous élevons le signal allant vers la broche horloge à vif, l’horloge est déplacé vers l’avant une étape.  et lorsque nous retirer basses et hautes, encore une fois, il décale l’autre.  Chaque temps de que nous changer de l’horloge, on passe l’entrée à un autre des huit registres.  Nous sommes essentiellement contrôlant la sortie de chacun des huit broches un à la fois, et que nous avançons un signal d’horloge, on passe à la broche de sortie prochaine au contrôle.

Jusqu'à présent, cela ressemble simplement à un tableau, qui est vraiment ce que c’est, mais voici la clé.

Nous pouvons utiliser la broche horloge de stockage Registre pour contrôler l’interrupteur « On/off Master ».  Cette utilisation est essentiellement que nous pouvons tirer faible avant que nous envoyons nos valeurs de registre.  Nous envoyons ensuite toutes les valeurs de Registre huit, qu’ils soient élevés ou bas, et quand nous avons fini nous tirer la goupille de horloge des registre de stockage élevée.  Ce qui va arriver est la valeur que vous envoyez seront stockées sur chaque broche de sortie, mais pas encore activé.  Lorsque vous tirez la goupille d’horloge stockage Registre haute toutes les sorties puis devient actif, et épingles quelle que soit vous avez assigné plus haut seront allume la LED.

Un autre avantage est la broche de Reclear Master.  Nous pouvons utiliser cette broche pour effacer toutes nos sorties et tout à bas.

Donc, c’est juste un exemple simple.  Le registre à décalage peut être un excellent outil lorsque vous êtes court sur les broches de sortie, prendre 8 sorties d’entrées de données réelles seulement environ 3.  Il peut être ajouté à pour certaines applications vraiment compliquées, et ils peuvent être connectés en guirlande ensemble pour encore plus d’options de sortie.

J’espère que cela aidera vous aider et vous donner quelques connaissances sur leur concept de base.

J’ai inclus une esquisse d’arduino d’échantillon et le schéma de câblage sur le site d’arduino que se met en marche chaque LED un à un moment donné Serial Monitor d’entrée (0-9)

-------------------------------------- CODE START --------------------------------------
/*
Exemple de registre de décalage
pour le registre à décalage 74HC595

Cette esquisse tourne entrée série de lectures et utilise pour définir les broches
d’un registre à décalage 74HC595.

Matériel :
* Registre à décalage 74HC595 attaché aux broches 2, 3 et 4 de l’Arduino,
comme indiqué ci-dessous.
* Les LEDs attachés à chacune des sorties du Registre à décalage

Créé le 22 mai 2009
Créé le 23 mars 2010
par Tom Igoe

*/

Broche reliée à la broche de verrouillage (ST_CP) de 74HC595
const int latchPin = 8 ;
Broche reliée à la broche d’horloge (SH_CP) de 74HC595
const int clockPin = 12 ;
Broche reliée aux données de 74HC595 (DS)
const int dataPin = 11 ;

void setup() {}
Réglez de façon strictement à la sortie parce qu’elles sont adressées dans la boucle principale
pinMode (latchPin, sortie) ;
pinMode (dataPin, sortie) ;
pinMode (clockPin, sortie) ;
Serial.Begin(9600) ;
Serial.println("Reset") ;
}

void loop() {}
Si (Serial.available() > 0) {}
ASCII « 0 » à travers des personnages « 9 » sont
représentés par les valeurs de 48 à 57.
donc, si l’utilisateur tape un nombre compris entre 0 et 9 en ASCII,
vous pouvez soustraire 48 pour obtenir la valeur réelle :
int bitToSet = Serial.read() - 48 ;

écrire dans le registre à décalage avec le correct peu élevé :
registerWrite (bitToSet, HIGH) ;
}
}

Cette méthode envoie bits du Registre à décalage :

void registerWrite (int whichPin, int whichState) {}
les morceaux que vous souhaitez envoyer
bitsToSend octets = 0 ;

désactiver la sortie afin que les tiges ne s’allument pas
alors que vous êtes décalage de bits :
digitalWrite (latchPin, basse) ;

activer le bit plus élevé suivant dans bitsToSend :
bitWrite (bitsToSend, whichPin, whichState) ;

déplacer les bits sur :
shiftOut (dataPin, clockPin, MSBFIRST, bitsToSend) ;

activer la sortie si les LED peuvent s’allumer :
digitalWrite (latchPin, HIGH) ;

}
--------------------------------------- CODE END ---------------------------------------

Je vais essayer de revenir à cela pour ajouter plus d’explications à ce code.

Articles Liés

Comment utiliser un registre à décalage 74HC595 avec un AVR ATtiny13

Comment utiliser un registre à décalage 74HC595 avec un AVR ATtiny13

si vous avez joué avec des microcontrôleurs et de l'électronique, alors vous avez probablement vu des afficheurs à LED à matrice de points et autres projets qui utilisent des registres à décalage comme affichage à 7 segments et plus. Cette instructab
Arduino 16 LEDs à l’aide de deux registres à décalage 74HC595 (illimités broches)

Arduino 16 LEDs à l’aide de deux registres à décalage 74HC595 (illimités broches)

Il s'agit de mon premier espoir instructable, que vous l'aimerez. J'ai été jouer avec LEDs pour un certain temps et j'ai réalisé que je suis assez bien limitée avec broches de l'Arduino et ne peut pas faire des projets énormes qui exige beaucoup d'ép
Registre à décalage 74HC595 démystifié

Registre à décalage 74HC595 démystifié

explication préliminaires/précautionsToujours se référer aux fiches techniques avant d'effectuer des tests sur un circuit intégré.Opérations de CMOS :Une chose importante à garder à l'esprit est 74HC595 (HC) est la technologie CMOS. Les signaux de so
Arduino 8 * 8 Led Matrix pilote avec des registres à décalage de 2 * 74HC595

Arduino 8 * 8 Led Matrix pilote avec des registres à décalage de 2 * 74HC595

J'ai acheté une matrice de 8 x 8 Led y compris une carte de conducteur avec une puce MAX7219CNG. Malheureusement cette puce ne fonctionnait pas correctement. J'ai donc décidé de construire mon propre pilote avec l'aide de 2 registres à décalage 74HC5
Matrice de LED utilisant des registres à décalage

Matrice de LED utilisant des registres à décalage

cette instructable est censée être une explication plus complète que d'autres disponibles en ligne. En particulier, cela vous donnera plus d'explication matérielle celle située sous le chapiteau de LED instructable par led555.ObjectifsCette instructa
Contrôleur de matrice de LED RVB Arduino 8 x 8 avec sonde de température et les registres à décalage 4

Contrôleur de matrice de LED RVB Arduino 8 x 8 avec sonde de température et les registres à décalage 4

La première moitié de cette vidéo d'enseignement montre qu'un projet fini d'un Arduino avec 4 registres à décalage (74HC595) utilisé pour contrôler et 8 x 8 matrice de LED RVB. Il y a aussi un capteur de température DS18B20 utilisé pour afficher la t
Registre à décalage LinkIt One -

Registre à décalage LinkIt One -

Le LinkIt One est un très bon Conseil de travailler avec et une excellente alternative Arduino mais que les projets se compliquent, vous pouvez faire face que 14 broches du LinkIt One peuvent être tout simplement pas assez. Et parfois, elle n'a pas u
Contrôle d’affichage LCD ATTiny45/85 avec un registre à décalage, programmé dans l’Arduino

Contrôle d’affichage LCD ATTiny45/85 avec un registre à décalage, programmé dans l’Arduino

Arduino en cours d'exécution sur un ATTiny45 de puce 85 est un gain de coût énorme pour les mini projets. Toutefois, vous impossible de connecter un écran compatible HD44780 comme vous avez besoin de 6 sorties, mais vous n'avez que 5. Ce problème peu
Comment utiliser un registre à décalage - Arduino Tutorial

Comment utiliser un registre à décalage - Arduino Tutorial

Dans ce tutoriel, vous apprendrez comment utiliser un registre de décalage (ou série-parallèle contrôleur). Le registre à décalage donnera à votre Arduino un 8 sorties numériques supplémentaires, en utilisant seulement 3 points sur votre carteDans ce
RegisterWrite - prolonger les sorties d’Arduino/microcontrôleur avec registres à décalage

RegisterWrite - prolonger les sorties d’Arduino/microcontrôleur avec registres à décalage

Registre Write est un exemple de programme pour prolonger les sorties de l'Arduino à l'aide d'un registre à décalage.J'ai écrit un simple croquis qu'utilisera 3 sorties de l'Arduino pour conduire le registre à décalage.J'ai écrit ce que je ne pouvais
Berlin horloge, Arduino Nano, DS1307 horloge en temps réel. Registre à décalage 8 bits 74HC595N.

Berlin horloge, Arduino Nano, DS1307 horloge en temps réel. Registre à décalage 8 bits 74HC595N.

Depuis un certain temps, j'ai voulu construire une horloge de Berlin. Je ne sais vraiment pas pourquoi ? J'aime juste la démarche « différente » pour dire l'heure.Alors, comment ça marche??Commençant par le bas il y a 4 jaune s'allume chaque lumière
À l’aide d’un registre à décalage avec Raspberry Pi

À l’aide d’un registre à décalage avec Raspberry Pi

cette instructable va tenter de l'expliquer, en termes simples, ce qu'un changement de Registre est, et comment vous pouvez l'utiliser avec le Raspberry Pi pour étendre le port GPIO en exécutant huit sorties avec seulement quatre ports GPIO.Pour comm
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
En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

En utilisant une LED Dot Matrix avec un Arduino et un registre à décalage

The Siemens DLO7135 Dot matrix LED est un étonnant morceau de l'optoélectronique. Il a présenté comme un 5 x 7 matricielle affichage Intelligent (r) avec mémoire/décodeur/conducteur. Avec cette mémoire, il a obtenu un affichage de ASCII caractères 96