Voir beaucoup d'aiguilles décoratives colorées dans un rêve. Types de seringues et d'aiguilles. Seringues médicales : conception et dimensions. Aiguille émoussée - livre de rêves

Voir beaucoup d'aiguilles décoratives colorées dans un rêve.  Types de seringues et d'aiguilles.  Seringues médicales : conception et dimensions.  Aiguille émoussée - livre de rêves
Voir beaucoup d'aiguilles décoratives colorées dans un rêve. Types de seringues et d'aiguilles. Seringues médicales : conception et dimensions. Aiguille émoussée - livre de rêves

Connecter un écran à sept segments à un Arduino est un excellent projet niveau d'entrée, vous permettant de mieux connaître la carte Arduino. Mais c'est assez facile à faire. Par conséquent, nous compliquerons quelque peu la tâche et connecterons un indicateur à quatre chiffres et sept segments.



DANS dans ce cas Nous utiliserons un module indicateur LED à quatre chiffres avec une cathode commune.


Chaque segment du module indicateur est multiplexé, ce qui signifie qu'il partage un point de connexion anodique avec d'autres segments de sa décharge. Et chacun des quatre bits du module possède son propre point de connexion avec une cathode commune. Cela permet à chaque chiffre d'être activé ou désactivé indépendamment. De plus, cette méthode de multiplexage permet au microcontrôleur d'utiliser seulement onze ou douze broches au lieu de trente-deux.



Les segments LED de l'indicateur nécessitent la connexion de résistances de limitation de courant lorsqu'ils sont alimentés de 5 V à conclusion logique. La valeur de la résistance est généralement comprise entre 330 et 470 ohms. Il est également recommandé d'utiliser des transistors pour fournir un courant supplémentaire, puisque chaque broche du microcontrôleur peut fournir un maximum de 40 mA. Si vous activez tous les segments de décharge (numéro 8), la consommation de courant dépassera cette limite. La figure ci-dessous montre un schéma de connexion pour un indicateur à quatre chiffres et sept segments utilisant des transistors à résistance de limitation de courant.



Voici les schémas de connexion de l'indicateur aux broches Arduino. Des transistors npn bipolaires BC547 sont utilisés ici. Un potentiomètre de 10 KOhm connecté à l'entrée de la carte A0 permet de changer la valeur affichée sur l'indicateur de 0 à 1023.




Sur la carte Arduino, les sorties numériques D2-D8 sont dans ce cas utilisées pour contrôler les segments « a » à « g », et les sorties numériques D9-D12 sont utilisées pour contrôler les bits D0 à D3. Il est à noter que dans cet exemple le point n'est pas utilisé, mais dans le croquis ci-dessous il est possible de l'utiliser. La broche D13 de la carte Arduino est réservée au contrôle du segment de point.



Vous trouverez ci-dessous le code qui vous permet de contrôler un indicateur de segment à quatre chiffres à l'aide d'une carte Arduino. Dans celui-ci, le tableau numérique spécifie les codes des nombres de 0 à 9 sous forme binaire. Cette esquisse prend en charge à la fois les indicateurs avec une cathode commune (par défaut) et les indicateurs avec une anode commune (pour ce faire, vous devez décommenter une ligne à la fin de l'esquisse).


// bits représentant les segments A à G (et les points), pour les nombres 0 à 9 const int numeral = ( //ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9 ); // épingles pour le point et chaque segment // DP,G,F,E,D,C,B,A const int segmentPins = ( 13,8,7,6,5,4,3,2 ); const int nbrDigits= 4; // nombre de chiffres de l'indicateur LED // chiffres 0 1 2 3 const int digitPins = ( 9,10,11,12 ); void setup() ( pour(int i=0; i< 8; i++) { pinMode(segmentPins[i], OUTPUT); // устанавливаем выводы для сегментов и точки на выход } for(int i=0; i < nbrDigits; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { int value = analogRead(0); showNumber(value); } void showNumber(int number) { if(number == 0) { showDigit(0, nbrDigits-1) ; // отображаем 0 в правом разряде } else { // отображаем значение, соответствующее каждой цифре // крайняя левая цифра 0, правая на единицу меньше, чем число позиций for(int digit = nbrDigits-1; digit >= 0 ; digit--) ( if(number > 0) ( showDigit(number % 10, digit) ; number = number / 10; ) ) ) ) // Afficher le numéro donné sur cette catégorie Indicateur à 7 segments void showDigit(int number, int digit) ( digitalWrite(digitPins, HIGH); for(int segment = 1; segment< 8; segment++) { boolean isBitSet = bitRead(numeral, segment); // isBitSet будет истинным, если данный бит будет 1 // isBitSet = ! isBitSet; // опционально // раскомментируйте опциональную строчку выше для индикатора с общим анодом digitalWrite(segmentPins, isBitSet); } delay(5); digitalWrite(digitPins, LOW); }

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 y a tellement d'écrans différents, avec gros montant des caractères, des lignes, des diagonales et des résolutions variées, du noir et blanc et de la couleur, dont les plus abordables coûtent quelques dollars... Et ici : un « vieux », outrageusement simple, mais nécessitant un nombre énorme de broches. Indicateur à 7 segments , mais il y a quand même un avantage et ce « vieil homme ». 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 vais répondre - 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 ; // installer haut niveau 11 broches du port B

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 « manière du débutant » ! Veuillez noter qu'au lieu de nombres binaires, des nombres décimaux sont écrits dans les registres. Naturellement, pour Nombres décimaux aucune lettre devant n’est nécessaire. 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. Alors, en se soumettant à 4 simultanément indicateur numérique« 1234 », nous recevrons « 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 afficherons les caractères avec ordinateur personnelà un indicateur à 7 segments utilisant 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 :



Comment ça marche? ce programme tu peux regarderVidéo 3.



Revue préparée par Pavel Sergeev

Il existe des paramètres pour lesquels il serait plus pratique de fournir des informations objectives plutôt qu’une simple indication. Par exemple, la température de l’air extérieur ou l’heure du réveil. Oui, tout cela pourrait être fait avec des ampoules ou des LED lumineuses. Un degré – une LED ou une ampoule allumée, etc. Mais en comptant ces lucioles, eh bien non ! Mais comme on dit, le plus des solutions simples- le plus fiable. Par conséquent, sans réfléchir longtemps, les développeurs ont pris de simples bandes LED et les ont disposées dans le bon ordre.

Au début du XXe siècle, avec l'avènement des tubes à vide, apparaissent les premiers indicateurs à décharge gazeuse.

Avec l'aide de tels indicateurs, il était possible d'afficher des informations numériques en chiffres arabes. Auparavant, c'était sur de telles lampes que diverses indications étaient faites pour les appareils et autres appareils électroniques. Actuellement, les éléments à décharge de gaz ne sont presque jamais utilisés nulle part. Mais le rétro est toujours à la mode, c'est pourquoi de nombreux radioamateurs collectionnent de magnifiques montres avec indicateurs de décharge de gaz pour eux-mêmes et leurs proches.


L’inconvénient des lampes à décharge est qu’elles consomment beaucoup d’électricité. On peut discuter de la durabilité. Dans notre université, les fréquencemètres utilisant des indicateurs de décharge gazeuse sont encore utilisés dans les laboratoires.

Indicateurs à sept segments

Avec l’avènement des LED, la situation a radicalement changé. meilleur côté. Les LED elles-mêmes consomment peu de courant. Si vous les disposez dans dans la bonne position, vous pouvez alors afficher absolument n'importe quelle information. Pour tout mettre en valeur chiffres arabes, seulement sept bandes lumineuses LED – segments, disposés d'une certaine manière :

À presque tous ces indicateurs à sept segments, un huitième segment est également ajouté - un point, de sorte qu'il soit possible d'afficher la valeur entière et fractionnaire de n'importe quel paramètre.

En théorie, nous obtenons un indicateur à huit segments, mais à l'ancienne, on l'appelle aussi un indicateur à sept segments.

Quel est le résultat? Chaque bande de l'indicateur à sept segments est éclairée par une LED ou un groupe de LED. De ce fait, en mettant en évidence certains segments, on peut afficher des chiffres de 0 à 9, ainsi que des lettres et des symboles.

Types et désignation sur le schéma

Il existe des formats à un bit, deux bits, trois bits et quatre bits. sept indicateurs sectoriels. Je n'ai jamais vu plus de quatre catégories.

Dans les diagrammes, l'indicateur à sept segments ressemble à ceci :

En effet, en plus des bornes principales, chaque indicateur à sept segments possède également une borne commune avec une anode commune (OA) ou une cathode commune (OC).

Circuit interne Un indicateur à sept segments avec une anode commune ressemblera à ceci :


et avec une cathode commune comme celle-ci :


Si nous avons un indicateur à sept segments avec une anode commune (OA), alors dans le circuit, nous devons fournir une alimentation « plus » à cette broche, et s'il s'agit d'une cathode commune (OC), alors « moins » ou masse.

Comment vérifier un indicateur à sept segments

Nous avons les indicateurs suivants :


Afin de vérifier un indicateur moderne à sept segments, nous n'avons besoin que d'un multimètre doté d'une fonction de test de diodes. Pour commencer, nous recherchons une conclusion générale - cela peut être soit OA, soit OK. Ici seulement au hasard. Eh bien, nous vérifions ensuite les performances des segments restants de l'indicateur selon les diagrammes ci-dessus.

Comme vous pouvez le voir sur la photo ci-dessous, le segment en cours de test s'allume. Nous vérifions les autres segments de la même manière. Si tous les segments sont allumés, alors un tel indicateur est intact et peut être utilisé dans vos développements.


Parfois, la tension du multimètre n'est pas suffisante pour tester un segment. Par conséquent, nous prenons une alimentation et la réglons sur 5 Volts. Pour limiter le courant traversant le segment, nous vérifions une résistance de 1 à 2 kilo-Ohm.


De la même manière, nous vérifions l'indicateur du récepteur chinois


Dans les circuits, des indicateurs à sept segments sont connectés à des résistances à chaque broche

Dans notre monde moderne les indicateurs à sept segments sont remplacés par des indicateurs à cristaux liquides capables d'afficher absolument n'importe quelle information

mais pour les utiliser, vous avez besoin de certaines compétences dans la conception de circuits de tels appareils. Par conséquent, les indicateurs à sept segments sont encore utilisés aujourd’hui en raison de leur faible coût et de leur facilité d’utilisation.