Comment utiliser le Top 10HCTOP 105 Shift Register avec Arduino

Comment utiliser le Top 10HCTOP 105 Shift Register avec Arduino

Toutes les tableaux Arduino sont livrés avec un nombre spécifié d'épingles d'E / S et s'il y a un grand nombre d'appareils qui doivent être connectés à la carte Arduino, le problème de la pénurie d'épingles pourrait survenir. Pour répondre à ce problème, il existe des registres de quart de travail par lesquels nous pouvons augmenter le nombre d'épingles d'E / S de l'Arduino. Comment ces registres de décalage fonctionnent et comment nous pouvons les utiliser avec Arduino, découvrons:

Comment fonctionnent les registres de changement

Comme décrit ci-dessus, le registre de décalage est principalement utilisé pour résoudre la pénurie de broche de microcontrôleur dans le cas où un grand nombre de périphériques doivent être interfacés avec le microcontrôleur. Le registre de décalage déplace les données d'un bit à un autre par rapport aux impulsions de l'horloge du registre et les données qu'il déplacent est stockée dedans. Il y a trois broches principales du registre de quart: l'un est la broche d'horloge, la deuxième est la broche de verrou.

La configuration de la broche d'un registre de quart unique (74HC595) est donnée ci-dessous dans le tableau:

Catégorie des épingles (du côté gauche de Grove) Numéros d'épingle Représentation Description
Broches de sortie 1-7 et 15 Q1 à Q7, Q0 Broches auxquelles l'appareil doit être interfacé avec le contrôleur
Broches 8 et 16 GND, VCC Broches qui augmenteront le registre de quart
Entrée en série 14 (Ds) sérin PIN qui reçoit les données du contrôleur par communication série
Activer la sortie 13 Oe Cette broche est faible lorsque la tension est élevée et vice versa
Goupille de verrouillage 12 (ST_CP) RCLK Lorsque cette broche est élevée, les données sont envoyées aux broches de sortie et sont également stockées dans la mémoire
épingle d'horloge 11 (Sh_cp) Pin d'horloge pour le registre de quart
Réinitialiser la broche dix (Sh_cp) srclr Utilisation des broches pour réinitialiser le registre en lui donnant un état bas
Interfaçage des autres registres 9 Q7S (QH ') Lorsque plus d'un registre doit être utilisé, cette broche est utilisée

Utilisation de Shift Register avec Arduino

Pour expliquer comment nous pouvons utiliser le registre de changement. Voici la liste des composants que nous avons utilisés dans cet exemple:

  • Planche à pain
  • Fils de connexion
  • 8 LED
  • Arduino Uno
  • 74HC595 Registre de quart

Nous avons conçu le circuit en utilisant les composants répertoriés ci-dessus et son schéma est donné ci-dessous:

Assemblage matériel pour utiliser Shift Register avec Arduino Uno

Pour voir à quoi ressemblera le circuit sur la planche à pain, nous avons d'abord fait l'assemblage matériel comme dans l'image ci-dessous:

Pour votre compréhension, nous avons expliqué les connexions des composants utilisés dans les circuits:

  • Le fil violet montre la connexion à broches de données du registre de décalage avec Arduino en utilisant sa broche 4.
  • Le fil blanc représente la connexion pour la broche de verrouillage avec Arduino Uno qui est connectée à sa broche 5 alors que le fil brun est utilisé pour connecter l'horloge du registre de décalage avec Arduino en utilisant sa broche 6.
  • Pour connecter les LED avec le registre de changement.
  • Pour connecter le registre de quart avec l'alimentation, nous avons utilisé l'option de 5 volts de l'Arduino à partir de ses épingles d'alimentation.

Code Arduino pour l'utilisation de Shift Register avec Arduino Uno

Pour utiliser Shift Register avec Arduino, nous devons le configurer en programmant le microcontrôleur, donc ci-dessous, nous avons fourni le code:

int verrouille = 5; // broches 5 d'Arduino pour le dossier de verrouillage du registre de quart
int horloge = 6; // broches 6 d'Arduino pour la broche d'horloge du registre de quart
int data = 4; // broches 4 d'Arduino pour la broche de données du registre de quart
BYTE LED = 0; // variable qui enregistrera la valeur des LED
void setup()

// attribuant les modes de travail aux broches du registre shift
PinMode (verrouillage, sortie);
PinMode (données, sortie);
PinMode (horloge, sortie);

VOID LOOP ()

LED = 0; // Au début, toutes les LED resteront en désordre
Shiftregister (); // allume la LED suivante
retard (500);
pour (int i = 0; i < 8; i++) // loop that will turn the LED one by one

Bitset (LED, I); // attribuant la LED respective les valeurs élevées
Shiftregister (); // éteignez la LED précédente
retard (500);


// fonction qui mettra à jour le registre après chaque itération de la boucle
VOID SHIFTREGISTER ()

DigitalWrite (Latch, Low);
Shiftout (données, horloge, lsbFirst, LED);
DigitalWrite (Latch, High);

Démonstration matérielle

Nous avons implémenté le circuit conçu pour interfacer le registre de quart 74HC595 avec Arduino Uno selon l'assemblage matériel que nous avons décrit précédemment. Pour démontrer comment nous avons tourné les LED dans un modèle, nous avons donné le GIF animé ci-dessous:

Conclusion

Les registres de décalage sont principalement utilisés lorsque nous devons augmenter les broches d'E / S des microcontrôleurs afin que nous puissions interfacer plus d'appareils avec lui. Pour démontrer comment nous pouvons utiliser le registre de changement. Pour plus de clarification, nous avons donné un schéma de circuit et sa mise en œuvre du matériel ainsi que le croquis Arduino utilisé pour programmer le contrôleur.