Top 10 Articles
On 12 října, 2021 by adminNedávno jsme publikovali základní projekt Arduina s jedním sedmisegmentovým LED displejem. Přestože se jedná o úžasný kutilský projekt, všimli jsme si, že většina čtenářů hledá pokročilejší obvody využívající více sedmisegmentových displejů se světelnými diodami. Zde je jednoduchý, ale užitečný obvod čtyřmístného sedmisegmentového LED displeje Arduino. Zde použitý modul je samostatný kompaktní modul se společnou katodou obsahující čtyři 7segmentové číselné LED displeje.
Každý segment v modulu displeje je multiplexní, což znamená, že sdílí stejné anodové přípojné body. A každá ze čtyř číslic v modulu má svůj vlastní společný katodový připojovací bod. Díky tomu lze každou číslici zapnout nebo vypnout nezávisle. Tato technika multiplexování také mění obrovské množství pinů mikrokontroléru potřebných k ovládání displeje na pouhých jedenáct nebo dvanáct (namísto dvaatřiceti)!
Segmenty LED displeje vyžadují při napájení z logického pinu 5 V rezistory omezující proud. Hodnota rezistoru se obvykle pohybuje mezi 330 a 470 ohmy. A pro zajištění přídavného řídicího proudu pro segmenty LED se doporučují řídicí tranzistory, protože každý pin mikrokontroléru může být zdrojem nebo spotřebičem proudu pouze v blízkosti 40 mA. Při zapnutí všech (sedmi) segmentů displeje najednou (číslice 8) překročí proudová potřeba tuto hranici 40 mA. Na obrázku níže je uvedeno základní schéma zapojení rezistorů omezujících proud a řídicích tranzistorů.
Následuje schéma zapojení 4místného 7segmentového LED displeje Arduino, po kterém následuje náčrtek Arduina. Pečlivě postupujte podle schématu zapojení, abyste dokončili svůj hardware,a poté nahrajte sketch do Arduina pomocí prostředí Arduino IDE jako obvykle. Hotový obvod může zobrazovat čísla od 0 do 1023 ve spojení s potenciometrem s předvolbou 10K připojeným k analogovému vstupu A0 desky Arduino.
Tato část 4místného 7segmentového displeje je zapojena kolem čtyř 7segmentových LED displejů se společnou katodou a čtyř tranzistorů BC547 npn. Rezistory 1K slouží k omezení základního proudu a rezistory 390R omezují provozní proud segmentů LED displeje.
Na desce Arduino se digitální výstupy D2 až D8 používají k řízení segmentů (a až g) a digitální výstupy D9 až D12 se používají pro číslice (D0-D3) 4×7 LED displeje. Všimněte si, že zde není použita volba desetinné čárky (dp), ale je obsažena v náčrtu. D13 obvodu Arduino je vyhrazen pro segment desetinné čárky. Potenciometr 10K je připojen k analogovému vstupu AO, jak je uvedeno ve schématu zapojení.
Prototyp @ Práce
/** 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:
.
Napsat komentář