Top 10 Artikelen
On oktober 12, 2021 by adminOnlangs publiceerden we een instap Arduino project met een enkel zeven-segment LED display. Hoewel het een geweldig DIY project is, merkten we dat de meeste lezers op zoek zijn naar meer geavanceerde circuits met meerdere zeven-segment licht emitterende diode displays. Hier is een eenvoudige, maar nuttige schakeling van een Arduino 4-cijferig 7-segment LED-display-eenheid. De hier gebruikte module is een op zichzelf staande, compacte gemeenschappelijke-kathode module die vier 7-segment LED numerieke displays bevat.
Elk segment in de displaymodule is multiplexed, wat betekent dat het dezelfde anode aansluitpunten deelt. En elk van de vier cijfers in de module heeft zijn eigen gemeenschappelijke kathode-aansluitpunt. Hierdoor kan elk cijfer onafhankelijk worden in- of uitgeschakeld. Ook maakt deze multiplexing-techniek van het enorme aantal microcontroller-pennen dat nodig is om een display aan te sturen slechts elf of twaalf (in plaats van tweeëndertig)!
De LED-segmenten van het display hebben stroombegrenzende weerstanden nodig wanneer ze worden gevoed vanuit een 5 V logische pen. De waarde van de weerstand ligt gewoonlijk tussen 330 en 470 ohm. En, driver transistors worden aanbevolen om extra stroom te leveren aan de LED segmenten, omdat elke pin van een microcontroller slechts ongeveer 40 mA stroom kan leveren of afgeven. Wanneer alle (zeven) segmenten van het display tegelijk worden ingeschakeld (het cijfer 8), zal de stroomvraag deze 40 mA-limiet overschrijden. De onderstaande afbeelding toont het basisbedradingsschema van de stroombegrenzende weerstanden en stuurtransistors.
Volgende is het aansluitschema van het Arduino 4-Digit 7-segment LED Display, gevolgd door de Arduino-schets. Volg zorgvuldig het hookup diagram om uw hardware te voltooien, en upload dan de schets naar Arduino met behulp van de Arduino IDE zoals gebruikelijk. De voltooide schakeling kan getallen van 0 tot 1023 weergeven, in verbinding met een 10K voorinstelpot die aan de analoge ingang A0 van het Arduino-bord is bevestigd.
De sectie van dit 4-cijferige 7-segment display is bedraad rond vier 7-segment LED-displays met gemeenschappelijke kathode en vier BC547 npn-transistors. De weerstanden van 1K worden gebruikt om de basisstroom te beperken, en de weerstanden van 390R beperken de bedrijfsstroom van de LED-displaysegmenten.
In het Arduino-bord worden digitale uitgangen van D2 tot D8 gebruikt om de segmenten (a tot g) aan te sturen, en digitale uitgangen D9 tot D12 worden gebruikt voor de cijfers (D0-D3) van het 4×7 LED-display. Merk op dat hier de decimale punt (dp) optie niet wordt gebruikt, maar wel in de schets is opgenomen. D13 van de Arduino is gereserveerd voor het decimale punt segment. De 10K potentiometer is aangesloten op de analoge ingang AO, zoals aangegeven in het aansluitschema.
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:
Geef een antwoord