Pour répondre à de tels problèmes, des registres de décalage peuvent être utilisés, ce qui peut sauver les broches de la carte Arduino pour d'autres appareils. Nous avons discuté de la façon dont nous interfacrons le segment à 7 avec Arduino en utilisant le registre de changement.
7 segments avec Arduino en utilisant le registre de quart
Comme expliqué les registres de quart précédents sont utiles lorsque le nombre de dispositifs qui doivent être interfacés avec le microcontrôleur est grand. Pour interfacer le segment à 7 avec Arduino en utilisant les registres Shift, vous aurez besoin des composants suivants:
Pour utiliser le registre de quart pour l'interfaçage du segment à 7 avec Arduino Uno, nous avons conçu un circuit dont le schéma est donné ci-dessous qui utilise la liste des composants ci-dessus.
Assemblage matériel pour l'utilisation du registre de changement
Avant d'implémenter le circuit sur le matériel réel, nous avons créé l'assemblage matériel qui aidera à établir des connexions des composants sur le matériel réel. Sous l'image donnée montre l'assemblage matériel pour l'utilisation du registre de changement.
Les connexions pour les 7 segments avec le registre de changement. Nous avons expliqué les connexions du circuit dans les points suivants:
Programme Arduino pour l'utilisation du Shift Register to Interface 7-Segment avec Arduino Uno
Pour interfacer le segment à 7 avec Arduino en utilisant le registre shift, nous devons programmer le microcontrôleur qui est donné ci-dessous:
const int data = 4; // broche arduino pour la broche de données du registre de quart
const int verrouille = 5; // broche arduino pour la broche de verrouillage du registre de quart
const int horloge = 6; // broche arduino pour la broche d'horloge du registre de quart
const char commun = 'c'; // 7-segment avec cathode commune
void setup()
// attribuant les modes de travail aux broches de registre de quart
PinMode (données, sortie);
PinMode (verrouillage, sortie);
PinMode (horloge, sortie);
VOID LOOP ()
pour (int i = 0; i <= 9; i++) // for loop to generate number from 0 to 9
Bits d'octets = binaire (i); / * détecter le binaire donné pour le nombre respectif à partir des cas ci-dessous * /
affichage (bits); // Affichage des numéros sur 7 segments
retard (500);
affichage void (octet huitbits)
if (commun == 'c') // si la configuration est cathode commune
huitbits = huitbits ^ b11111111; // change ensuite les bits de 0 à 1
DigitalWrite (Latch, Low); // Préparation d'un registre de quart pour les données
Shiftout (données, horloge, lsbfirst, huitbits); / * Envoi des données à 7segmnet à partir d'un bit le moins significatif * /
DigitalWrite (Latch, High); / * Affichage des données sur le segment 7 * /
/ * Cas pour détecter le binaire des nombres générés de 0 à 9 * /
octet binaire (numéro int)
commutateur (numéro)
Cas 0:
Retour B11111100; // Si 0 est généré, alors binaire pour zéro
casser;
cas 1:
Retour B01100000; // Si 1 est généré, alors donnant un binaire pour un
casser;
Cas 2:
retour b11011010; // si 2 est généré, alors donnant le binaire pour deux
casser;
Cas 3:
Retour B11110010; // Si 3 est généré, alors donnant le binaire pour trois
casser;
Cas 4:
retour B01100110; // Si 4 est généré, alors donnant le binaire pour quatre
casser;
Cas 5:
retour b10110110; // si 5 est généré, alors donnant le binaire pour cinq
casser;
Cas 6:
retour b10111110; // si 6 est généré, alors donnant le binaire pour six
casser;
Cas 7:
Retour B11100000; // Si 7 est généré, alors donnant le binaire pour sept
casser;
Cas 8:
Retour B11111110; // Si 8 est généré, alors donnant le binaire pour huit
casser;
Cas 9:
retour B11110110; // Si 9 est généré, alors donnant le binaire pour neuf
En contrôlant la broche de verrouillage du registre de quart, nous pouvons envoyer les données d'Arduino au segment à 7. Ainsi, lorsque la broche de verrouillage est à l'état bas, elle reçoit les données, puis lorsque la broche va à l'état élevé, elle envoie les données plus loin.
Pour générer les nombres, nous avons utilisé la boucle pour chaque itération de la boucle, l'état de la broche de verrouillage est modifié à l'aide de la fonction numériquewrite () et pour chaque numéro que nous avons donné le binaire pour cela qui allumera la LED du 7 -Ségments en conséquence.
Démonstration matérielle pour l'utilisation de Shift Register avec Arduino pour interfacer le segment à 7
Nous avons implémenté le circuit sur la planche à pain pour interface 7-segments à l'aide d'un registre de changement. Pour démontrer que nous avons donné le GIF animé ci-dessous:
Conclusion
Les registres de quart sont d'une grande importance dans les projets où il y a un grand nombre d'appareils à utiliser avec Arduino. Nous avons interfacé l'écran à 7 segments avec Arduino en utilisant un registre de quart qui réduit l'utilisation des broches Arduino de 6 à 3. Nous avons également fourni le schéma de circuit, l'assemblage matériel et le code Arduino qui vous aideront à comprendre le concept d'utilisation du registre de changement.