Top 10 artiklar
On oktober 12, 2021 by adminNyligen publicerade vi ett Arduino-projekt på nybörjarnivå med en enda 7-segmentig LED-display. Även om det är ett fantastiskt DIY-projekt noterade vi att de flesta läsare letar efter mer avancerade kretsar som använder flera sju-segmentiga lysdioddisplayer. Här är en enkel, men användbar krets av en Arduino 4-siffrig 7-segmentig LED-displayenhet. Den modul som används här är en fristående, kompakt modul med gemensam katod som innehåller fyra numeriska 7-segmentiga LED-displayer.
Varje segment i displaymodulen är multiplexerad, vilket innebär att den delar samma anodanslutningspunkter. Och var och en av de fyra siffrorna i modulen har sin egen gemensamma katodanslutningspunkt. Detta gör att varje siffra kan slås på eller stängas av oberoende av varandra. Dessutom förvandlar denna multiplexeringsteknik det enorma antal mikrokontrollerstift som krävs för att styra en display till endast elva eller tolv (i stället för trettiotvå)!
Displayens LED-segment kräver strömbegränsningsmotstånd när de försörjs från en logisk 5 V-stift. Värdet på motståndet är vanligtvis mellan 330 och 470 ohm. Dessutom rekommenderas drivtransistorer för att ge ytterligare drivström till LED-segmenten, eftersom varje stift i en mikrokontroller endast kan ge eller sänka nästan 40 mA ström. När alla (sju) segment på displayen slås på samtidigt (siffran 8) kommer strömbehovet att överskrida denna gräns på 40 mA. Bilden nedan visar det grundläggande kopplingsschemat för de strömbegränsande motstånden och drivtransistorerna.
Nästan är kopplingsschemat för Arduino 4-digit 7-segment LED-display, följt av Arduino-skissen. Följ noggrant kopplingsschemat för att färdigställa hårdvaran och ladda sedan upp skissen till Arduino med hjälp av Arduino IDE som vanligt. Den färdiga kretsen kan visa siffror som sträcker sig från 0 till 1023, i samband med en förinställd 10K-pot som är ansluten till den analoga ingången A0 på Arduinokortet.
Den här sektionen för 4 -siffriga 7-segmentsdisplayen är kopplad runt fyra 7-segments LED-displayer med gemensam katod och fyra BC547 npn-transistorer. 1K-motstånden används för att begränsa basströmmen och 390R-motstånden begränsar driftströmmen för LED-displayens segment.
I Arduinokortet används de digitala utgångarna D2-D8 för att driva segmenten (a-g), och de digitala utgångarna D9-D12 används för siffrorna (D0-D3) i den 4×7 LED-displayen. Observera att här används inte alternativet decimalpunkt (dp), men det ingår i skissen. D13 i Arduino är reserverad för decimalpunktsegmentet. Potentiometern 10K är ansluten till den analoga ingången AO, som anges i kopplingsschemat.
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:
Lämna ett svar