Top 10 Articles
On octobre 12, 2021 by adminRécemment, nous avons publié un projet Arduino d’entrée de gamme avec un seul affichage LED à sept segments. Bien qu’il s’agisse d’un projet DIY étonnant, nous avons remarqué que la plupart des lecteurs recherchent des circuits plus avancés utilisant plusieurs afficheurs à diodes électroluminescentes à sept segments. Voici un circuit simple, mais utile, d’un module Arduino d’affichage à diodes électroluminescentes à 4 chiffres et 7 segments. Le module utilisé ici est un module autonome et compact à cathode commune contenant quatre affichages numériques à diodes électroluminescentes à 7 segments.
Chaque segment du module d’affichage est multiplexé, ce qui signifie qu’il partage les mêmes points de connexion de l’anode. Et chacun des quatre chiffres du module possède son propre point de connexion cathodique commun. Cela permet à chaque chiffre d’être allumé ou éteint indépendamment. En outre, cette technique de multiplexage transforme la quantité massive de broches de microcontrôleur nécessaires pour contrôler un affichage en seulement onze ou douze (au lieu de trente-deux)!
Les segments LED de l’affichage nécessitent des résistances de limitation de courant lorsqu’ils sont alimentés par une broche logique de 5 V. La valeur de la résistance est généralement comprise entre 330 et 470 ohms. De plus, il est recommandé d’utiliser des transistors d’attaque pour fournir un courant d’attaque supplémentaire aux segments de DEL, car chaque broche d’un microcontrôleur ne peut fournir ou absorber qu’un courant d’environ 40 mA. Lorsque tous les (sept) segments de l’affichage sont allumés en même temps (le chiffre 8), la demande de courant dépassera cette limite de 40 mA. L’image présentée ci-dessous indique le schéma de câblage de base des résistances de limitation de courant et des transistors d’attaque.
Vient ensuite le schéma de branchement de l’afficheur à DEL à 4 chiffres et 7 segments, suivi du croquis Arduino. Suivez attentivement le diagramme de branchement pour compléter votre matériel, puis téléchargez le croquis sur Arduino en utilisant l’IDE Arduino comme d’habitude. Le circuit terminé peut afficher des nombres allant de 0 à 1023, en liaison avec un potard de préréglage de 10K attaché à l’entrée analogique A0 de la carte Arduino.
Cette section d’affichage à 7 segments de 4 -digits est câblée autour de quatre afficheurs LED à 7 segments à cathode commune, et de quatre transistors npn BC547. Les résistances 1K sont utilisées pour limiter le courant de base, et les résistances 390R limitent le courant de fonctionnement des segments de l’affichage LED.
Dans la carte Arduino, les sorties numériques de D2 à D8 sont utilisées pour piloter les segments (a à g), et les sorties numériques D9 à D12 sont utilisées pour les chiffres (D0-D3) de l’affichage LED 4×7. Notez qu’ici l’option point décimal (dp) n’est pas utilisée, mais incluse dans le sketch. D13 de l’Arduino est réservé pour le segment du point décimal. Le potentiomètre 10K est connecté à l’entrée analogique AO, comme indiqué dans le schéma de branchement.
Prototype @ Work
/** Arduino 4x7 LED Display* Displays numbers ranging from 0 through 1023* Test Code displays the value of a sensor connected to the analog input A0* Inspired by a code found in the Arduino Cookbook* Tested at TechNode Protolabz/July 2014*/// bits representing segments A through G (and decimal point) for numerals 0-9const int numeral = { //ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9};// pins for decimal point and each segment// DP,G,F,E,D,C,B,Aconst int segmentPins = { 13,8,7,6,5,4,3,2 };const int nbrDigits= 4; // the number of digits in the LED display//dig 0 1 2 3const int digitPins = { 9,10,11,12 };void setup(){ for(int i=0; i = 0; digit--) { if(number > 0) { showDigit( number % 10, digit) ; number = number / 10; } } }} // Displays given number on a 7-segment display at the given digit positionvoid showDigit( int number, int digit){ digitalWrite( digitPins, HIGH ); for(int segment = 1; segmentShare this:
.
Laisser un commentaire