Top 10 Articole
On octombrie 12, 2021 by adminRecent, am publicat un proiect Arduino entry-level cu un singur afișaj LED cu șapte segmente. Deși este un proiect DIY uimitor, am observat că majoritatea cititorilor caută circuite mai avansate care folosesc mai multe afișaje cu diode electroluminiscente cu șapte segmente. Iată un circuit simplu, dar util, al unei unități Arduino de afișaj cu LED-uri cu 7 segmente de 4 cifre Arduino. Modulul utilizat aici este un modul autonom și compact cu catod comun care conține patru afișaje numerice cu LED-uri cu 7 segmente.
Care segment din modulul de afișare este multiplexat, ceea ce înseamnă că împarte aceleași puncte de conectare a anodului. Și fiecare dintre cele patru cifre din modul are propriul punct de conexiune catodică comună. Acest lucru permite ca fiecare cifră să fie pornită sau oprită independent. De asemenea, această tehnică de multiplexare transformă numărul masiv de pini ai microcontrolerului necesar pentru a controla un afișaj în doar unsprezece sau doisprezece (în loc de treizeci și doi)!
Segmentele LED ale afișajului necesită rezistențe de limitare a curentului atunci când sunt alimentate de la un pin logic de 5 V. Valoarea rezistenței este de obicei între 330 și 470 ohmi. De asemenea, se recomandă tranzistoarele de comandă pentru a furniza curent de comandă suplimentar segmentelor de LED-uri, deoarece fiecare pin al unui microcontroler poate furniza sau absorbi doar aproape 40 mA de curent. Atunci când toate segmentele (șapte) ale afișajului sunt pornite deodată (cifra 8), cererea de curent va depăși această limită de 40 mA. Imaginea de mai jos indică schema de cablare de bază a rezistențelor de limitare a curentului și a tranzistoarelor de comandă.
În continuare este prezentată schema de conectare a afișajului LED Arduino cu 4 cifre și 7 segmente, urmată de schița Arduino. Urmați cu atenție diagrama de conectare pentru a completa hardware-ul,apoi încărcați schița în Arduino folosind Arduino IDE ca de obicei. Circuitul finalizat poate afișa numere de la 0 la 1023, în legătură cu un pot de presetare de 10K atașat la intrarea analogică A0 a plăcii Arduino.
Această secțiune de afișaj cu 4 cifre cu 7 segmente este cablată în jurul a patru afișaje LED cu 7 segmente cu catod comun și patru tranzistori npn BC547. Rezistențele de 1K sunt folosite pentru limitarea curentului de bază, iar rezistențele de 390R limitează curentul de funcționare a segmentelor afișajului LED.
În placa Arduino, ieșirile digitale de la D2 la D8 sunt folosite pentru a comanda segmentele (a până la g), iar ieșirile digitale de la D9 la D12 sunt folosite pentru cifrele (D0-D3) ale afișajului LED 4×7. Rețineți că aici nu este utilizată opțiunea de punct zecimal (dp), dar este inclusă în schiță. D13 din Arduino este rezervată pentru segmentul punctului zecimal. Potențiometrul de 10K este conectat la intrarea analogică AO, așa cum este indicat în schema de conectare.
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:
.
Lasă un răspuns