Indicateurs LED à sept segments. Indicateur à sept segments Indicateurs LED à sept segments avec une cathode commune

Une LED (ou diode électroluminescente) est une diode optique qui émet de l'énergie lumineuse sous forme de « photons » lorsqu'elle est polarisée en direct. En électronique, nous appelons ce processus électroluminescence. La couleur de la lumière visible émise par les LED va du bleu au rouge et est déterminée par le spectre spectral de la lumière émise, qui dépend à son tour des diverses impuretés ajoutées aux matériaux semi-conducteurs au cours de leur processus de fabrication.

Les LED présentent de nombreux avantages par rapport aux lampes et luminaires traditionnels, et les plus importants d'entre eux sont peut-être leur petite taille, leur durabilité, leurs couleurs variées, leur faible coût et leur disponibilité facile, ainsi que leur capacité à s'interfacer facilement avec divers autres composants électroniques dans des circuits numériques.

Mais le principal avantage des LED est qu'en raison de leur petite taille, certaines d'entre elles peuvent être concentrées dans un seul boîtier compact, formant ce qu'on appelle un indicateur à sept segments.

L'indicateur à sept segments se compose de sept LED (d'où son nom), disposées en rectangle, comme le montre la figure. Chacune des sept LED est appelée segment car, lorsqu'elle est allumée, le segment fait partie d'un chiffre (décimal ou 12 chiffres). Parfois, au sein d'un même boîtier, une 8ème LED supplémentaire est utilisée. Elle sert à afficher le point décimal. (DP), permettant ainsi l'affichage si deux ou plusieurs indicateurs à 7 segments sont connectés ensemble pour représenter des nombres supérieurs à dix.

Chacun des sept segments d'affichage LED est connecté à une rangée de contacts correspondante située directement sur le boîtier rectangulaire de l'indicateur en plastique. Les broches LED sont étiquetées de A à G, représentant chaque segment individuel. D'autres contacts des segments LED sont interconnectés et forment une sortie commune.

Ainsi, la polarisation directe appliquée aux broches correspondantes des segments de LED dans un certain ordre entraînera l'allumage de certains segments tandis que le reste restera sombre, permettant ainsi au symbole de motif numérique souhaité d'être illuminé pour être affiché sur l'écran. Cela nous permet de représenter chacun des dix chiffres décimaux de 0 à 9 sur un afficheur à 7 segments.

La broche commune est généralement utilisée pour déterminer le type d'affichage à 7 segments. Chaque LED d'affichage comporte deux bornes de connexion, dont l'une est appelée « anode » et l'autre, par conséquent, est appelée « cathode ». Par conséquent, un indicateur LED à sept segments peut avoir deux types de conception de circuit : avec une cathode commune (OC) et avec une anode commune (OA).

La différence entre ces deux types d'affichage est que dans la conception OK, les cathodes des 7 segments sont directement connectées les unes aux autres, et dans la conception à anode commune (CA), les anodes des 7 segments sont connectées les unes aux autres. Les deux schémas fonctionnent comme suit.

  • Cathode commune (OC) - les cathodes interconnectées de tous les segments LED ont un niveau logique de « 0 » ou sont connectées à un fil commun. Les segments individuels sont éclairés en appliquant un signal logique haut ou logique 1 à leur broche d'anode via une résistance de limitation pour polariser en direct les LED individuelles.
  • Anode commune (CA) - les anodes de tous les segments LED sont combinées et ont un niveau logique de « 1 ». Des segments individuels du voyant s'allument lorsque chaque cathode spécifique est connectée à la terre, au "0" logique ou à un signal à faible potentiel via la résistance de limitation correspondante.

En général, les indicateurs à anode commune à sept segments sont plus populaires, car de nombreux circuits logiques peuvent nécessiter plus de courant que ce que l'alimentation peut fournir. Notez également qu'un affichage à cathode commune ne remplace pas directement dans le circuit un affichage à anode commune. Et vice versa, cela équivaut à allumer les LED dans le sens opposé, et donc aucune lumière ne sera émise.

Bien qu'un compteur à 7 segments puisse être considéré comme un affichage unique, il se compose toujours de sept LED individuelles dans un seul boîtier et, en tant que telles, ces LED nécessitent une protection contre les surintensités. Les LED n'émettent de la lumière que lorsqu'elles sont polarisées vers l'avant, et la quantité de lumière qu'elles émettent est proportionnelle au courant direct. Cela signifie simplement que l'intensité de la LED augmente de manière approximativement linéaire avec l'augmentation du courant. Ainsi, pour éviter d'endommager la LED, ce courant direct doit être surveillé et limité à une valeur sûre par une résistance de limitation externe.

Ces indicateurs à sept segments sont appelés statiques. Leur inconvénient majeur est le grand nombre de broches dans le boîtier. Pour éliminer cet inconvénient, des schémas de contrôle dynamique pour les indicateurs à sept segments sont utilisés.

L'indicateur à sept segments a acquis une grande popularité parmi les radioamateurs car il est pratique à utiliser et facile à comprendre.

Dans cette leçon, nous découvrirons les schémas de connexion des indicateurs LED à sept segments aux microcontrôleurs et comment contrôler les indicateurs.

Les indicateurs LED à sept segments restent l'un des éléments les plus populaires pour l'affichage d'informations numériques.

Leurs qualités suivantes y contribuent.

  • Bas prix. En termes d'affichage, il n'y a rien de moins cher que les indicateurs numériques LED.
  • Variété de tailles. Les indicateurs les plus petits et les plus grands sont des LED. Je connais des indicateurs LED avec des hauteurs de chiffres de 2,5 mm à 32 cm.
  • Brillent dans le noir. Dans certaines applications, cette propriété est presque décisive.
  • Ils ont différentes couleurs de lueur. Il en existe même des bicolores.
  • Courants de commande assez faibles. Les indicateurs LED modernes peuvent être connectés aux broches des microcontrôleurs sans clés supplémentaires.
  • Adapté aux conditions de fonctionnement difficiles (plage de température, humidité élevée, vibrations, environnements agressifs, etc.). Pour cette qualité, les indicateurs LED n'ont pas d'égal parmi les autres types d'éléments d'affichage.
  • Durée de vie illimitée.

Types d'indicateurs LED.

L'indicateur LED à sept segments affiche un caractère à l'aide de sept LED - segments de chiffres. La huitième LED éclaire le point décimal. Il y a donc 8 segments dans un indicateur à sept segments.

Les segments sont désignés par des lettres latines de « A » à « H ».

Les anodes ou cathodes de chaque LED sont combinées dans l'indicateur et forment un fil commun. Il existe donc des indicateurs avec une anode commune et une cathode commune.

Indicateur LED avec anode commune.

Indicateur LED avec cathode commune.

Contrôle LED statique.

Les indicateurs LED doivent être connectés au microcontrôleur via des résistances de limitation de courant.

Le calcul des résistances est le même que pour les LED individuelles.

R = (alimentation U - segment U) / segment I

Pour ce circuit : segment I = (5 – 1,5) / 1000 = 3,5 mA

Les indicateurs LED modernes brillent assez fort même à un courant de 1 mA. Pour un circuit avec une anode commune, les segments s'allumeront, au niveau des broches de commande dont le microcontrôleur générera un niveau bas.

Dans le schéma de connexion d'un indicateur avec une cathode commune, la polarité des signaux d'alimentation et de commande change.

Le segment s'allumera, au niveau de la broche de commande duquel un niveau haut (5 V) sera généré.

Mode multiplexé pour contrôler les indicateurs LED.

Huit broches sont nécessaires pour connecter chaque indicateur à sept segments au microcontrôleur. S'il y a 3 à 4 indicateurs (chiffres), la tâche devient alors pratiquement impossible. Il n'y a tout simplement pas assez de broches pour le microcontrôleur. Dans ce cas, les indicateurs peuvent être connectés en mode multiplexé, en mode d'indication dynamique.

Les résultats des segments du même nom de chaque indicateur sont combinés. Il en résulte une matrice de LED connectées entre les broches de segment et les broches indicatrices communes. Voici un circuit de contrôle multiplexé d'un indicateur à trois chiffres avec une anode commune.

Pour connecter trois indicateurs, il fallait 11 broches, et non 24, comme en mode contrôle statique.

Avec l'affichage dynamique, un seul chiffre est allumé à la fois. Un signal de haut niveau (5 V) est fourni à la broche commune de l'un des bits, et des signaux de bas niveau sont envoyés aux broches de segment pour les segments qui doivent s'allumer dans ce bit. Après un certain temps, la décharge suivante est allumée. Un niveau élevé est appliqué à sa broche commune et les signaux d'état de ce bit sont envoyés aux broches du segment. Et ainsi de suite pour tous les chiffres dans une boucle sans fin. Le temps de cycle est appelé temps de régénération de l'indicateur. Si le temps de régénération est suffisamment court, l’œil humain ne remarquera pas la commutation des décharges. Il semblera que toutes les décharges brillent constamment. Pour éviter le scintillement des indicateurs, on estime que la fréquence du cycle de régénération doit être d'au moins 70 Hz. J'essaie d'utiliser au moins 100 Hz.

Le circuit d'indication dynamique pour les LED à cathode commune ressemble à ceci.

La polarité de tous les signaux change. Maintenant, un niveau bas est appliqué au fil commun de la décharge active et un niveau haut est appliqué aux segments qui doivent s'allumer.

Calcul des éléments d'affichage dynamiques des indicateurs à diodes électroluminescentes (LED).

Le calcul est un peu plus compliqué que pour le mode statique. Lors du calcul il faut déterminer :

  • courant moyen des segments ;
  • courant d'impulsion des segments ;
  • résistance de résistance de segment ;
  • courant impulsionnel des bornes communes des décharges.

Parce que Les chiffres de l'indicateur s'allument à tour de rôle, la luminosité de la lueur détermine le courant moyen. Il faut le choisir en fonction des paramètres de l'indicateur et de la luminosité requise. Le courant moyen déterminera la luminosité de l'indicateur à un niveau correspondant au contrôle statique avec le même courant constant.

Choisissons un courant de segment moyen de 1 mA.

Calculons maintenant le courant d'impulsion du segment. Pour fournir le courant moyen requis, le courant d'impulsion doit être N fois supérieur. Où N est le nombre de chiffres indicateurs.

je segmente lutin. = je segmente moy. *N

Pour notre schéma, je segmente. lutin. = 1 * 3 = 3 mA.

Nous calculons la résistance des résistances qui limitent le courant.

R = (alimentation U - segment U) / segment I. lutin.

R = (5 – 1,5) / 0,003 = 1 166 ohms

Nous déterminons les courants d'impulsion des bornes communes des décharges. 8 segments peuvent s'allumer en même temps, ce qui signifie que vous devez multiplier le courant d'impulsion d'un segment par 8.

Je catégorie lutin. = je segmente lutin. * 8

Pour notre circuit I catégorie imp. = 3 * 8 = 24 mA.

  • Nous sélectionnons la résistance comme étant de 1,1 kOhm ;
  • les broches du microcontrôleur de contrôle de segment doivent fournir un courant d'au moins 3 mA ;
  • les broches du microcontrôleur permettant de sélectionner le chiffre indicateur doivent fournir un courant d'au moins 24 mA.

Avec de telles valeurs de courant, l'indicateur peut être connecté directement aux broches de la carte Arduino, sans utiliser de clés supplémentaires. Pour des indicateurs lumineux, de tels courants sont tout à fait suffisants.

Schémas avec des clés supplémentaires.

Si les indicateurs nécessitent plus de courant, il est alors nécessaire d'utiliser des touches supplémentaires, notamment pour les signaux de sélection de chiffres. Le courant de décharge total est 8 fois supérieur au courant d'un segment.

Schéma de raccordement d'un indicateur LED à anode commune en mode multiplexé avec interrupteurs à transistors pour la sélection des décharges.

Pour sélectionner un bit dans ce circuit, il est nécessaire de générer un signal de bas niveau. La clé correspondante s'ouvrira et alimentera la décharge de l'indicateur.

Schéma de raccordement d'un indicateur LED à cathode commune en mode multiplexé avec interrupteurs à transistors pour la sélection des décharges.

Pour sélectionner un bit dans ce circuit, il est nécessaire de générer un signal de haut niveau. La clé correspondante ouvrira et fermera la borne de décharge commune à la terre.

Il peut y avoir des circuits dans lesquels il est nécessaire d'utiliser des commutateurs à transistors pour les segments et les broches de bits communes. De tels schémas sont facilement synthétisés à partir des deux précédents. Tous les circuits illustrés sont utilisés lorsque l'indicateur est alimenté avec une tension égale à l'alimentation du microcontrôleur.

Touches pour indicateurs avec tension d'alimentation accrue.

Il existe de grands indicateurs dans lesquels chaque segment est constitué de plusieurs LED connectées en série. Pour alimenter de tels indicateurs, il faut une source avec une tension supérieure à 5 V. Les commutateurs doivent permettre une commutation de tension accrue contrôlée par des signaux de niveau de microcontrôleur (généralement 5 V).

Le circuit des touches qui connectent les signaux indicateurs à la terre reste inchangé. Et les interrupteurs d'alimentation doivent être construits selon un schéma différent, par exemple comme celui-ci.

Dans ce circuit, le bit actif est sélectionné par le niveau haut du signal de commande.

Entre les chiffres de l'indicateur de commutation, tous les segments doivent être éteints pendant une courte période (1 à 5 μs). Ce temps est nécessaire pour terminer les processus transitoires de commutation des clés.

Structurellement, les broches de décharge peuvent être combinées dans un seul cas d'indicateur à plusieurs chiffres, ou un indicateur à plusieurs chiffres peut être assemblé à partir d'indicateurs à un chiffre séparés. De plus, vous pouvez assembler un indicateur à partir de LED individuelles combinées en segments. Ceci est généralement effectué lorsqu'il est nécessaire d'assembler un très grand indicateur. Tous les schémas ci-dessus seront valables pour de telles options.

Dans la prochaine leçon, nous connecterons un indicateur LED à sept segments à la carte Arduino et écrirons une bibliothèque pour le contrôler.

Catégorie: . Vous pouvez le mettre en signet.

Ou des thermomètres avec de grands chiffres, il est difficile de trouver des indicateurs appropriés (comme l'ALS), et parfois vous avez besoin d'une taille qui n'est pas disponible dans le commerce. Pour ce faire, chaque élément (segment) de nombres est souvent assemblé à partir de plusieurs LED rondes ordinaires. Nous proposons une version plus avancée et plus pratique de cette solution, utilisant le microcircuit 74HC595. Le projet a abouti à des panneaux de près de 10 centimètres de haut, visibles sur de longues distances. Si nécessaire, un grand nombre de chiffres peuvent être connectés séquentiellement les uns aux autres via un connecteur spécialisé.

Diagramme schématique

Ce circuit est un contrôleur d'affichage à un chiffre à 7 segments utilisant un grand ensemble de 5 LED par segment et un registre à décalage pour un contrôle facile des entrées du microcontrôleur. Chacune des LED utilisées dans ce projet mesure 5 mm de diamètre.

La puce ULN2003 permet d'amplifier le courant circulant dans les LED. Les résistances R1 à R8 limitent le courant pour les LED connectées en série dans le circuit.

Bonne journée! Après ma pause longue et forcée, nous continuerons à maîtriser le cours de programmation Arduino. Dans une de nos leçons précédentes, nous avons déjà travaillé avec une séquence de LED, il est maintenant temps de passer à l'étape suivante de la formation. Le sujet de l'article d'aujourd'hui sera un indicateur à 7 segments.

Apprendre à connaître l'indicateur à 7 segments comprendra deux parties. Dans la première partie, nous passerons brièvement en revue la composante théorique, travaillerons avec le matériel et rédigerons des programmes simples.

La dernière fois que nous avons travaillé avec une séquence de 8 LED, aujourd'hui il y en aura également 8 (7 bandes LED et 1 point). Contrairement à la séquence précédente, les éléments de cet ensemble ne sont pas alignés (les uns après les autres), mais sont disposés dans un certain ordre. Grâce à cela, en utilisant un seul composant, vous pouvez afficher 10 chiffres (de 0 à 9).

Une autre différence significative qui distingue cet indicateur des simples LED. Il possède une cathode commune (ou plutôt deux pattes équivalentes 3 et 8, sur lesquelles la cathode est connectée). Il suffit simplement de connecter une des cathodes à la masse ( GND). Tous les éléments indicateurs ont des anodes individuelles.

Une petite parenthèse. Tout ce qui précède s'applique aux indicateurs à 7 segments avec une cathode commune. Il existe cependant des indicateurs avec une anode commune. La connexion de tels indicateurs présente des différences significatives, alors ne confondez pas « pécheur et juste ». Vous devez clairement comprendre quel type d'appareil à sept segments vous avez entre les mains !

Outre les différences entre les simples LED et les indicateurs à 7 segments, il existe également des caractéristiques communes. Par exemple : les indicateurs, comme les LED, peuvent être montés en rangée (séquence) pour afficher des nombres à deux, trois ou quatre chiffres (chiffres). Cependant, je ne vous conseille pas de trop vous soucier de l’assemblage vous-même des ensembles de segments. En vente « à côté » des indicateurs à un chiffre, des indicateurs à plusieurs chiffres sont également vendus.

J'espère que vous n'avez pas oublié la nécessité d'utiliser des résistances de limitation de courant lors de la connexion des LED. Il en va de même pour les indicateurs : chaque élément de l'indicateur doit avoir sa propre résistance connectée. 8 éléments (7 + 1) – 8 résistances.

J'avais sous la main une unité à sept segments marquée 5161AS (cathode commune). Brochage :



Diagramme schématique

Comme je l'ai dit plus tôt, afin d'activer le segment « A », nous connectons la masse à n'importe quelle broche commune (3 ou 8) et fournissons une alimentation 5 V à la broche 7. Si l'indicateur a une anode commune, alors nous appliquons 5V à l'anode et mettons à la terre la sortie du segment !

Assemblons un banc de test. Nous connectons les fils dans l'ordre, en commençant par la première branche, qui va à la 2ème broche de la carte Arduino. Nous connectons la masse à la broche 8 de l'indicateur.

Une fois le support assemblé, vous pouvez commencer à écrire le firmware.

Pour vérifier l'indicateur, exécutons le programme écrit. Sélectionnons l'élément « A » et flashons-le.


Flashons maintenant le chiffre 2. Pour ce faire, activons quelques éléments supplémentaires.

Pour afficher un chiffre, vous devez écrire un nombre n de lignes de code. C'est difficile, tu ne trouves pas ?

Il existe une autre façon. Afin d'afficher n'importe quel nombre sur l'indicateur, il doit d'abord être représenté comme une certaine séquence de bits.

Tableau de correspondance.

Si l'écran a une anode commune, alors 1 doit être remplacé par 0 et 0 par 1 !

La colonne hexadécimale est une représentation d'un nombre sous forme d'octets (nous en parlerons plus en détail dans la deuxième partie).

Un nombre dans le système de nombres binaires s’écrit comme suit : 0b00000000. 0b- système binaire. Les zéros signifient que toutes les LED sont éteintes.

Lors de la connexion, nous avons utilisé les broches 2 à 9. Pour activer la broche 2, écrivez-y une = 0b00000001. Le quatrième bit en partant de la droite est responsable du point. Le tout dernier bit correspond à la ligne au milieu de l'indicateur.

Écrivons un exemple de sortie du nombre 0.

Pour réduire le nombre de lignes tapées, nous utiliserons une boucle qui permet de « itérer » les 8 bits. Variable Activer_segment la valeur du bit en cours de lecture est attribuée. Après cela, la sortie courant est réglée sur le mode approprié ( présence ou absence de signal).

Remarque : La fonction bitRead() lit l'état du bit spécifié et renvoie la valeur de l'état (0 ou 1).bitLecture(x, n)où x est le nombre dont les bits doivent être lus ; n est le numéro du bit dont l'état doit être lu. La numérotation commence par le bit le moins significatif (le plus à droite) numéroté 0.

Et à la fin de la première partie nous écrirons un petit compteur.

Dans l'article d'aujourd'hui, nous parlerons des indicateurs à 7 segments et de la façon de « se faire des amis » avec Arduino. Il existe plusieurs options. Le plus simple, bien sûr, c'est d'aller à et achetez un indicateur prêt à l'emploi avec un bouclier intégré (c'est ainsi qu'on appelle la carte correspondante), mais nous ne cherchons pas de moyens faciles, nous emprunterons donc un chemin légèrement plus difficile. Débutants - ne vous inquiétez pas, cet article, comme mes articles précédents ( Et ) juste pour toi. Laissez les gourous écrire pour les mêmes gourous expérimentés, et je suis un débutant - j'écris pour les débutants.

Pourquoi un indicateur à 7 segments ? Après tout, il existe tellement d'écrans différents, avec un grand nombre de caractères, de lignes, des diagonales et des résolutions variées, en noir et blanc et en couleur, dont les plus abordables coûtent quelques dollars... Et ici : le « vieux » un, outrageusement simple, mais nécessitant un grand nombre de broches. Indicateur à 7 segments, mais ce « vieil homme » a quand même aussi un avantage. Le fait est qu'en utilisant les croquis donnés ici, vous pouvez faire revivre non seulement un indicateur avec une hauteur de chiffres de 14 mm, mais aussi des projets plus sérieux (bien que faits maison), et les chiffres du compteur dans ce cas sont loin de la limite. Ce n'est peut-être pas si intéressant pour les habitants des capitales, mais la population de Novokatsapetovka ou de Nizhnyaya Kedrovka sera très heureuse si une horloge apparaît dans un club ou un conseil de village qui peut également afficher la date et la température, et elle parlera du créateur. de cette horloge depuis très longtemps. Mais ces montres font l'objet d'un article séparé : les visiteurs voudront - J'écrirai. Tout ce qui est écrit ci-dessus peut être considéré comme une introduction. Comme mon dernier article, cet article sera composé de parties, cette fois en deux. Dans la première partie, nous allons simplement « gérer » l'indicateur, et dans la seconde, nous essaierons de l'adapter à quelque chose d'au moins un peu utile. Alors continuons :

Partie un. Expérimental - éducatif

La base de ce projet est l'ARDUINO UNO, qui nous est déjà bien connu grâce aux articles précédents. Je vous rappelle que le moyen le plus simple de l'acheter est ici : ou ici: , de plus, vous aurez besoin d'un indicateur à 4 chiffres et 7 segments. J'ai notamment le GNQ-5641BG-11. Pourquoi celui-ci ? Oui, tout simplement parce qu'il y a 5 ans je l'ai acheté par erreur, j'avais la flemme d'aller le changer, donc il traînait tout ce temps à attendre dans les coulisses. Je pense que n'importe qui avec une anode commune fera l'affaire (et avec une cathode commune, c'est possible, mais vous devrez inverser les données du tableau et les autres valeurs de port - c'est-à-dire les remplacer par les valeurs opposées), tant que il n'est pas trop puissant pour ne pas brûler l'Arduino. De plus, 4 résistances de limitation de courant d'environ 100 Ohms chacune et un morceau de câble (10 cm me suffisaient) pour 12 broches (noyaux) peuvent être « arrachés » du plus large, ce que j'ai fait. Ou vous pouvez même les souder avec des fils séparés, il n'y aura aucun problème. Vous aurez également besoin d'épingles pour le tableau (11 pièces), mais si vous faites attention, vous pourrez vous en passer. Un croquis de l'indicateur est visible sur la figure 1, et son schéma sur la figure 2. Je noterai également qu'il est préférable de ne pas fournir plus de 2,1 V à chaque segment de cet indicateur (limité par des résistances de 100 Ohm), et dans ce cas, il ne consommera pas plus de 20 mA. Si le chiffre « 8 » s'allume, la consommation ne dépassera pas 7x20=140 mA, ce qui est tout à fait acceptable pour les sorties Arduino. Un lecteur curieux se posera la question : « Mais 4 décharges de 140 mA chacune, c'est déjà 4x140 = 560 mA, et c'est déjà trop ! Je répondrai - il en restera 140. Comment ? Continuer à lire! L'emplacement des broches sur l'indicateur est visible sur la figure 3. Et nous effectuons la connexion selon le tableau 1.


Riz. 1 - Croquis de l'indicateur


Riz. 2 - Circuit indicateur


Riz. 3 - Emplacement des broches

Tableau 1

Broche Arduino Uno

Goupille indicatrice

Note

Segment G

Segment F

Segment E

Segment D

Segment C

Segment B

Segment A

L'anode commune du segment n°1, connectée via une résistance de 100 Ohm.

L'anode commune du segment n°2, connectée via une résistance de 100 Ohm.

L'anode commune du segment n°3, connectée via une résistance de 100 Ohm.

L'anode commune du segment n°6, connectée via une résistance de 100 Ohm.



Nous remplissons un simple croquis, qui est une simple « table de comptage » de 0 à 9 :


Maintenant, quelques éclaircissements. DDRD est un registre du port D (DDRB - respectivement, port B) derrière le mot "effrayant" "registre", il y a juste une fonction "cachée" qui indique si le port lira quelque chose avec sa broche (recevra des informations), ou vice-versa versa il sera possible d'y faire quelque chose puis d'écrire (donner des informations). Dans ce cas, la ligne DDRD=B11111111 ; indique que toutes les broches du port D sont en sortie, c'est-à-dire des informations en sortiront. La lettre « B » signifie qu'un nombre binaire est écrit dans le registre. Un lecteur impatient demandera immédiatement : « La décimale est-elle possible !?! » Je m'empresse de vous rassurer que c'est possible, mais j'en reparlerai un peu plus tard. Si nous voulions utiliser la moitié du port pour l'entrée et l'autre moitié pour la sortie, nous pourrions le spécifier comme ceci : DDRD=B11110000 ; les uns montrent les broches qui donneront des informations, et les zéros montrent celles qui recevront ces informations. La principale commodité du registre réside également dans le fait que vous n'avez pas besoin d'enregistrer toutes les broches 8 fois, c'est-à-dire nous sauvegardons 7 lignes dans le programme. Regardons maintenant la ligne suivante :

PORTB=B001000 ; // met la broche 11 du port B à un niveau haut

PORTB est le registre de données du port B, c'est-à-dire En y écrivant un numéro, nous indiquons quelle broche du port aura un un et laquelle aura un zéro. En plus du commentaire, je dirai que si vous prenez l'Arduino Uno de telle manière que vous puissiez voir le contrôleur et que les broches numériques sont en haut, l'entrée dans le registre sera claire, c'est-à-dire quel « zéro » (ou « un ») correspond à quelle broche, c'est-à-dire le zéro le plus à droite du port B est responsable de la 8ème broche et celui le plus à gauche est celui de la 13ème (qui a une LED intégrée). Pour le port D, respectivement, celui de droite est pour la broche 0, celui de gauche est pour la broche 7.
J'espère qu'après des explications aussi détaillées, tout est clair, mais puisque c'est clair, je propose de revenir au système de nombres décimaux que nous connaissons et que nous aimons depuis l'enfance. Et encore une chose : un croquis de 25 lignes peut sembler petit, mais pour un débutant, cela reste un peu encombrant. Nous allons le réduire.

Remplissons un croquis encore plus simple, la même « table de comptage » :


Vidéo 1.
Seulement 11 lignes ! C'est notre façon de faire, « la façon des débutants » ! Veuillez noter qu'au lieu de nombres binaires, des nombres décimaux sont écrits dans les registres. Naturellement, pour les nombres décimaux, aucune lettre n’est nécessaire devant. Je pense que cela ne ferait pas de mal de mettre tous les chiffres dans des tableaux.

Tableau 2. Correspondance du caractère affiché avec les données du port

Anode commune

Cathode commune

Système binaire

Système décimal

Système binaire

Système décimal

Tableau 3. Correspondance du chiffre affiché avec les données du port

Anode commune

Cathode commune

Système binaire

Système décimal

Système binaire

Système décimal



Attention! Les données des tableaux 2 et 3 sont valides uniquement lorsqu'elles sont câblées selon le tableau 1.
Téléchargeons maintenant un croquis avec une « table de comptage » de 0 à 9999 :




Riz. 4 - Table de comptage

Vous pouvez voir le croquis en action surVidéo 2.

Il y a plus de commentaires dans cette esquisse que de code lui-même. Il ne devrait pas y avoir de questions... En plus d'une chose, de quel genre de « cycle de scintillement » s'agit-il, qu'est-ce qui scintille en fait et pourquoi ? Et il y a aussi une sorte de variable pour cela...
Et le fait est que les segments du même nom des quatre catégories sont connectés en un seul point. A1, A2, A3 et A4 ont une cathode commune ; Anode commune A1, B1,…..G1. Ainsi, en appliquant simultanément « 1234 » à l'indicateur à 4 chiffres, nous obtiendrons « 8888 » et en serons très surpris. Pour éviter que cela ne se produise, vous devez d'abord allumer le « 1 » dans votre catégorie, puis l'éteindre, allumer le « 2 » dans la vôtre, etc. Si vous faites cela très rapidement, le scintillement des chiffres fusionnera, comme les images d'un film, et l'œil ne le remarquera pratiquement pas. Et la valeur maximale de la variable de scintillement contrôle dans ce cas la vitesse de changement des chiffres sur l'indicateur. D'ailleurs, c'est grâce à ce « scintillement » que la consommation maximale de courant n'est que de 140 mA, au lieu de 560. Je propose maintenant de passer à quelque chose de plus utile.

Deuxième partie. Au moins un peu utile

Dans cette partie, nous allons transmettre les caractères d'un ordinateur personnel vers un indicateur à 7 segments à l'aide d'ARDUINO MEGA. Pourquoi l’idée de « changer de cheval au passage à niveau » est-elle soudainement née ? Il y a deux raisons : premièrement, je n'avais jamais envisagé ARDUINO MEGA dans mes articles auparavant ; et deuxièmement, dans ARDUINO UNO, je n'ai toujours pas compris comment échanger dynamiquement le port COM et le port D. Mais je suis un débutant - je peux être pardonné. Bien entendu, vous pouvez acheter ce contrôleur ici : . Pour mettre en œuvre le plan, j'ai dû prendre un fer à souder et ressouder le câble du côté Arduino, ainsi qu'écrire un nouveau croquis. Vous pouvez voir comment le câble est soudé sur la figure 5. Le fait est qu'ARDUINO MEGA et ARDUINO UNO ont des brochages de ports différents, et Mega a beaucoup plus de ports. La correspondance des broches utilisées est visible dans le tableau 4.



Riz. 5 - Nouveau câblage

Tableau 4

Port Méga


Attention! Ce tableau est valable uniquement pour ce projet !

Vous devez également noter que le port C de l'Arduino Mega « démarre » à partir de la broche 37 puis par ordre décroissant, et le port A démarre à partir de la broche 22 puis par ordre croissant.



Riz. 6 - Vue générale



Petites fonctionnalités d'implémentation : nous afficherons 4 caractères. Les caractères doivent être des chiffres. Si vous avez entré « 1234 » et nous verrons « 1234 », si vous avez entré « 123456 », nous verrons toujours « 1234 », si vous avez entré « ytsuk », « fyva1234 », « otiog485909oapom » - nous ne verrons rien. Si vous avez entré « pp2345mm », nous verrons « 23 », c'est-à-dire petit « infaillible » intégré.

Le croquis réel :



Vous pouvez voir comment ce programme fonctionne surVidéo 3.



Revue préparée par Pavel Sergeev