- Module d'affichage 7 segments et 4 chiffres 7 segments:
- Connexion d'un module à 7 segments à 4 chiffres avec Raspberry Pi:
- Programmation de votre Raspberry Pi:
- Afficher l'heure sur 7 segments à 4 chiffres avec Raspberry Pi:
Nous savons tous que Raspberry Pi est une merveilleuse plateforme de développement basée sur un microprocesseur ARM. Grâce à sa puissance de calcul élevée, il peut faire des merveilles entre les mains des amateurs d'électronique ou des étudiants. Tout cela ne peut être possible que si nous savons comment le faire interagir avec le monde réel et analyser les données via un périphérique de sortie. Il existe de nombreux capteurs qui peuvent détecter certains paramètres du monde en temps réel et les transférer dans un monde numérique et nous les analysons en les visualisant soit sur un écran LCD ou sur un autre affichage. Mais, il ne serait toujours pas économique d'utiliser un écran LCD avec PI pour afficher une petite quantité de données. C'est là que nous préférons utiliser l'écran LCD alphanumérique 16x2 ou l'écran 7 segments. Nous avons déjà appris à utiliser un LCD alphanumérique et un écran 7 segments mono-segment avec Raspberry pi. Aujourd'hui nous allonsInterface Module d'affichage à 7 segments à 4 chiffres avec Raspberry Pi et affichage du temps dessus.
Bien que l'écran LCD alphanumérique 16x2 soit beaucoup plus confortable qu'un écran à 7 segments, il existe peu de scénarios où un écran à 7 segments serait plus pratique qu'un écran LCD. L'écran LCD souffre de l'inconvénient d'avoir une faible taille de caractères et sera excessif pour votre projet si vous prévoyez simplement d'afficher des valeurs numériques. Les 7 segments ont également l'avantage contre les mauvaises conditions d'éclairage et peuvent être visualisés sous des angles plus clairs qu'un écran LCD normal. Alors, commençons à le savoir.
Module d'affichage 7 segments et 4 chiffres 7 segments:
L'affichage à 7 segments comporte sept segments et chaque segment a une LED à l'intérieur pour afficher les chiffres en éclairant les segments correspondants. Comme si vous voulez que les 7 segments affichent le nombre «5», vous devez alors briller les segments a, f, g, c et d en mettant leurs broches correspondantes hautes. Il existe deux types d'affichages à 7 segments: Common Cathode et Common Anode, ici nous utilisons un affichage Common Cathode à 7 segments. En savoir plus sur l'affichage à 7 segments ici.
Nous savons maintenant comment afficher le caractère numérique souhaité sur un seul affichage à 7 segments. Mais, il est assez évident que nous aurions besoin de plus d'un affichage à 7 segments pour transmettre toute information à plus d'un chiffre. Ainsi, dans ce didacticiel, nous utiliserons un module d'affichage à 7 segments à 4 chiffres, comme indiqué ci-dessous.
Comme nous pouvons le voir, quatre écrans à sept segments sont connectés ensemble. Nous savons que chaque module à 7 segments aura 10 broches et que pour 4 affichages à sept segments, il y aurait 40 broches au total et il serait mouvementé pour quiconque de les souder sur une carte à points, donc je recommande vivement à quiconque d'acheter un module. ou créez votre propre circuit imprimé pour utiliser un affichage à 7 segments à 4 chiffres. Le schéma de connexion pour le même est illustré ci-dessous:
Pour comprendre comment fonctionne le module à sept segments à 4 chiffres, nous devons examiner les schémas ci-dessus, comme indiqué, les broches A des quatre écrans sont connectées pour se rassembler en un A et de la même manière pour B, C…. jusqu'à DP. Donc, fondamentalement, si le déclencheur A est activé, alors les quatre A devraient aller haut, n'est-ce pas?
Mais cela n'arrive pas. Nous avons quatre broches supplémentaires de D0 à D3 (D0, D1, D2 et D3) qui peuvent être utilisées pour contrôler quel affichage parmi les quatre devrait aller haut. Par exemple: si j'ai besoin que ma sortie soit présente uniquement sur le deuxième écran, alors seulement D1 doit être rendu haut tout en gardant les autres broches (D0, D2 et D3) aussi bas. Nous pouvons simplement sélectionner quel affichage doit devenir actif en utilisant les broches de D0 à D3 et quel caractère à afficher en utilisant les broches de A à DP.
Connexion d'un module à 7 segments à 4 chiffres avec Raspberry Pi:
Voyons comment, comment nous pouvons connecter ce module à 7 segments à 4 chiffres avec notre Raspberry Pi. Le module à 7 segments a 16 broches comme indiqué ci-dessous. Votre module peut avoir moins, mais ne vous inquiétez pas, il aura toujours les éléments suivants à coup sûr
- 7 ou 8 segments de broches (ici broches commençant de 1 à 8)
- Broche de masse (ici broche 11)
- Broches à 4 chiffres (ici broches 13 à 16)
Vous trouverez ci-dessous le schéma de l'horloge numérique Raspberry Pi en connectant le module d'affichage à sept segments à 4 chiffres avec Raspberry Pi:
Le tableau suivant vous aidera également à établir les connexions et à vérifier qu'elles sont conformes aux schémas ci-dessus.
S. Non |
Numéro GPIO Rsp Pi |
Numéro PIN Rsp Pi |
Nom à 7 segments |
Numéro de broche 7-Seg (ici dans ce module) |
1 |
GPIO 26 |
PIN 37 |
Segment a |
1 |
2 |
GPIO 19 |
PIN 35 |
Segment b |
2 |
3 |
GPIO 13 |
PIN 33 |
Segment c |
3 |
4 |
GPIO 6 |
PIN 31 |
Segment d |
4 |
5 |
GPIO 5 |
PIN 29 |
Segment e |
5 |
6 |
GPIO 11 |
PIN 23 |
Segment f |
6 |
sept |
GPIO 9 |
PIN 21 |
Segment g |
sept |
8 |
GPIO 10 |
PIN 19 |
Segment DP |
8 |
9 |
GPIO 7 |
PIN 26 |
Chiffre 1 |
13 |
dix |
GPIO 8 |
PIN 24 |
Chiffre 2 |
14 |
11 |
GPIO 25 |
PIN 22 |
Chiffre 3 |
15 |
12 |
GPIO 24 |
PIN 18 |
Chiffre 4 |
16 |
13 |
Sol |
Sol |
Sol |
11 |
Identifiez les broches de votre module et vous êtes tous prêts à procéder aux connexions. Repérer les broches GPIO dans Raspberry pi peut être une tâche un peu difficile, je vous ai donc fourni cette image pour les broches GPIO.
Programmation de votre Raspberry Pi:
Ici, nous utilisons le langage de programmation Python pour programmer RPi. Il existe de nombreuses façons de programmer votre Raspberry Pi. Dans ce tutoriel, nous utilisons l' IDE Python 3, car c'est le plus utilisé. Le programme Python complet est donné à la fin de ce tutoriel. En savoir plus sur le programme et exécuter le code dans Raspberry Pi ici.
Nous parlerons de quelques commandes que nous allons utiliser dans le programme PYHTON pour ce projet, Nous allons d'abord importer le fichier GPIO de la bibliothèque, la fonction ci-dessous nous permet de programmer les broches GPIO de PI. Nous renommons également «GPIO» en «IO», donc dans le programme chaque fois que nous voulons faire référence aux broches GPIO, nous utiliserons le mot «IO». Nous avons également importé l' heure et la date / heure pour lire la valeur du temps à partir de Rsp Pi.
import RPi.GPIO comme heure d'importation GPIO, date / heure
Parfois, lorsque les broches GPIO, que nous essayons d'utiliser, peuvent remplir d'autres fonctions. Dans ce cas, nous recevrons des avertissements lors de l'exécution du programme. La commande ci-dessous indique au PI d' ignorer les avertissements et de poursuivre le programme.
IO.setwarnings (Faux)
On peut référencer les broches GPIO de PI, soit par numéro de broche à bord, soit par leur numéro de fonction. Comme «PIN 29» sur la carte est «GPIO5». Nous disons donc ici que nous allons représenter la broche ici par «29» ou «5». GPIO.BCM signifie que nous allons représenter l'utilisation de 5 pour la broche 29 de GPIO5.
IO.setmode (GPIO.BCM)
Comme toujours, nous devons commencer par initialiser les broches, ici les broches de segment et les broches numériques sont des broches de sortie. À des fins de programmation, nous formons des tableaux pour les broches de segment et les initialisons à '0' après les avoir déclarés comme GPIO.
segment8 = (26,19,13,6,5,11,9,10) pour le segment du segment8: GPIO.setup (segment, GPIO.OUT) GPIO.output (segment, 0)
De même pour les broches numériques, nous les déclarons comme broches de sortie et les rendons `` 0 '' par défaut
#Digit 1 GPIO.setup (7, GPIO.OUT) GPIO.output (7, 0) #Off initialement #Digit 2 GPIO.setup (8, GPIO.OUT) GPIO.output (8, 0) #Off initialement #Digit 3 GPIO.setup (25, GPIO.OUT) GPIO.output (25, 0) #Off initialement #Digit 4 GPIO.setup (24, GPIO.OUT) GPIO.output (24, 0) #Off initialement
Nous devons former des tableaux pour afficher chaque nombre sur un affichage à sept segments. Pour afficher un numéro, nous devons contrôler les 7 broches de segment (point pin exclu), c'est-à-dire qu'elles doivent être désactivées ou activées. Par exemple, pour afficher le numéro 5, nous avons fait la disposition suivante
S. Non |
Numéro GPIO Rsp Pi |
Nom à 7 segments |
Statut pour afficher «5». (0-> OFF, 1-> ON) |
1 |
GPIO 26 |
Segment a |
1 |
2 |
GPIO 19 |
Segment b |
1 |
3 |
GPIO 13 |
Segment c |
0 |
4 |
GPIO 6 |
Segment d |
1 |
5 |
GPIO 5 |
Segment e |
1 |
6 |
GPIO 11 |
Segment f |
0 |
sept |
GPIO 9 |
Segment g |
1 |
De même, nous avons un numéro de séquence pour tous les nombres et alphabets. Vous pouvez écrire vous-même ou utiliser le tableau ci-dessous.
Avec ces données, nous pouvons former les tableaux pour chaque nombre dans notre programme python comme indiqué ci-dessous.
nul = zéro = un = deux = trois = quatre = cinq = six = sept = huit = neuf =
Si vous suivez le programme, il y aura une fonction pour afficher chaque caractère à notre afficheur 7 segments mais permet de sauter cette pour l' instant et entrer dans l' en boucle infinie. Où lire l'heure actuelle à partir de Raspberry Pi et diviser la valeur du temps entre quatre variables. Par exemple, si le temps est 10,45 alors la variable h1 aura 1, h2 aura 0, m1 aura 4v et m2 aura 5.
now = datetime.datetime.now () hour = now.hour minute = now.minute h1 = heure / 10 h2 = heure% 10 m1 = minute / 10 m2 = minute% 10 print (h1, h2, m1, m2)
Nous devons afficher ces quatre valeurs de variables sur nos quatre chiffres respectivement. Pour écrire une valeur de variable sur un chiffre, nous pouvons utiliser les lignes suivantes. Ici nous sommes affichés sur le chiffre 1 en le faisant monter puis la fonction print_segment (variable) sera appelée pour afficher la valeur en variable sur l'affichage du segment. Vous vous demandez peut-être pourquoi nous avons un délai après cela et pourquoi nous désactivons ce chiffre après cela.
GPIO.output (7, 1) #Turn on Digit One print_segment (h1) #Print h1 on segment time.sleep (delay_time) GPIO.output (7, 0) #Turn off Digit One
La raison en est que, comme nous le savons, nous ne pouvons afficher qu'un seul chiffre à la fois, mais nous avons quatre chiffres à afficher et seulement si les quatre chiffres sont affichés, le numéro à quatre chiffres complet sera visible pour l'utilisateur.
Alors, comment afficher les 4 chiffres en même temps ?
Heureusement pour nous, notre MPU est beaucoup plus rapide qu'un œil humain, alors ce que nous faisons réellement: nous affichons un chiffre à la fois mais nous le faisons très vite comme indiqué ci-dessus.
Nous sélectionnons un affichage à un chiffre, attendons 2 ms (variable delay_time) pour que le MPU et les 7 segments puissent le traiter, puis désactivez ce chiffre et passez au chiffre suivant et faites de même jusqu'à ce que nous atteignions le dernier chiffre. Ce délai de 2 ms ne peut pas être observé par un œil humain et les quatre chiffres semblent allumés en même temps.
La dernière chose à apprendre pour savoir comment fonctionne la fonction print_segment (variable) . Dans cette fonction, nous utilisons les tableaux que nous avons déclarés jusqu'à présent. Donc, quelle que soit la variable que nous envoyons à cette fonction doit avoir la valeur entre (0-9), le caractère variable recevra cette valeur et la comparera pour la valeur réelle. Ici, la variable est comparée à «1». De même, nous comparons avec tous les nombres de 0 à 9. S'il s'agit d'une correspondance, nous utilisons les tableaux et attribuons chaque valeur à ses broches de segment respectives comme indiqué ci-dessous.
def print_segment (charector): if charector == 1: for i in range (7): GPIO.output (segment8, one)
Afficher l'heure sur 7 segments à 4 chiffres avec Raspberry Pi:
Utilisez le schéma et le code donnés ici pour établir les connexions et programmer votre raspberry pi en conséquence. Une fois que tout est fait, lancez simplement le programme et vous devriez trouver l'heure actuelle affichée dans l'affichage à sept segments. Mais, il y a peu de choses que vous devez vérifier avant cela
- Assurez-vous d'avoir défini votre Raspberry Pi avec l'heure actuelle au cas où il fonctionnerait hors ligne.
- Alimentez votre Raspberry pi avec un adaptateur et non avec votre ordinateur portable / ordinateur car la quantité de courant consommée par l'écran à 7 segments est élevée et votre port USB ne peut pas le fournir.
Si tout fonctionne comme prévu, vous devriez trouver quelque chose comme ça ci-dessous.
Le fonctionnement complet de cette horloge Raspberry Pi peut également être vérifié sur la vidéo ci-dessous. J'espère que vous avez aimé le projet et que vous avez aimé en construire un. Dites-moi ce que vous pensez ou si vous avez besoin d'aide.