Note
Bonjour et bienvenue dans la Communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez plus profondément dans l’univers des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.
Réductions spéciales : Profitez de réductions exclusives sur nos produits les plus récents.
Promotions festives et cadeaux : Participez à des cadeaux et des promotions de vacances.
👉 Prêt à explorer et à créer avec nous ? Cliquez [ ici ] et rejoignez-nous aujourd’hui !
5.10 ShiftOut(Affichage à segments)¶
Précédemment, nous avons utilisé la fonction shiftout() pour allumer huit LED ; ici, nous l’utilisons pour afficher les chiffres 0 à 9 sur l’affichage à 7 segments.
L’affichage à 7 segments est essentiellement un dispositif composé de 8 LED, dont 7 LED en forme de bande formant un « 8 » et une LED pointillée légèrement plus petite servant de point décimal. Ces LED sont marquées a, b, c, d, e, f, g et dp. Elles ont leurs propres broches d’anode et partagent des cathodes. Leurs emplacements de broches sont indiqués dans la figure ci-dessous.
Composants requis
Pour ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Vous pouvez également les acheter séparément via les liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
|---|---|
Schéma
Câblage
74HC595 |
LED Segment Display |
|---|---|
Q0 |
a |
Q1 |
b |
Q2 |
c |
Q3 |
d |
Q4 |
e |
Q5 |
f |
Q6 |
g |
Q7 |
dp |
Code
Note
Ouvrez le fichier
5.10.shiftout_segment.inositué dans3in1-kit\basic_project\5.10.shiftout_segment.Ou copiez ce code dans Arduino IDE.
Ou téléchargez le code via Arduino Web Editor.
Après le téléchargement réussi du code, vous pourrez voir l’Afficheur à Segments LED afficher les chiffres 0 à 9 séquentiellement.
Comment ça fonctionne ?
shiftOut() permet au 74HC595 de produire 8 signaux numériques.
Il envoie le dernier bit du nombre binaire à Q0,
et le premier bit à Q7. Autrement dit,
écrire le nombre binaire « 00000001 » amènera Q0 à produire un niveau haut et Q1 à Q7 un niveau bas.
Supposons que l’afficheur à 7 segments affiche le chiffre « 2 », nous devons écrire un niveau haut pour a, b, d, e et g, et un niveau bas pour c, f et dp. Cela signifie qu’il faut écrire le nombre binaire « 01011011 ». Pour plus de lisibilité, nous utiliserons la notation hexadécimale « 0x5b ».
De manière similaire, nous pouvons également faire afficher d’autres chiffres à l’afficheur à 7 segments de la même manière. Le tableau suivant montre les codes correspondant à ces chiffres.
Numbers |
Binary Code |
Hex Code |
|---|---|---|
0 |
00111111 |
0x3f |
1 |
00000110 |
0x06 |
2 |
01011011 |
0x5b |
3 |
01001111 |
0x4f |
4 |
01100110 |
0x66 |
5 |
01101101 |
0x6d |
6 |
01111101 |
0x7d |
7 |
00000111 |
0x07 |
8 |
01111111 |
0x7f |
9 |
01101111 |
0x6f |
Écrivez ces codes dans shiftOut() pour faire afficher les nombres correspondants sur l’Afficheur à Segments LED.