Top 10 cikk
On október 12, 2021 by adminA közelmúltban közzétettünk egy belépő szintű Arduino projektet egyetlen hét szegmens LED kijelzővel. Bár ez egy csodálatos barkácsprojekt, észrevettük, hogy az olvasók többsége fejlettebb áramköröket keres, amelyek több hét szegmensű fénykibocsátó dióda kijelzőt használnak. Itt van egy egyszerű, mégis hasznos áramkör egy Arduino 4 számjegyű 7 szegmensű LED-kijelző egységből. Az itt használt modul egy önálló, kompakt közös katódos modul, amely négy 7 szegmensű LED-es numerikus kijelzőt tartalmaz.
A kijelzőmodul minden szegmense multiplexelt, azaz ugyanazokon az anódcsatlakozási pontokon osztozik. A modulban lévő négy számjegy mindegyike pedig saját közös katódcsatlakozási ponttal rendelkezik. Ez lehetővé teszi, hogy minden egyes számjegyet egymástól függetlenül lehessen be- vagy kikapcsolni. Emellett ez a multiplexelési technika a kijelző vezérléséhez szükséges rengeteg mikrokontrollertűből mindössze tizenegy vagy tizenkettő lesz (harminckettő helyett)!
A kijelző LED-szegmensei áramkorlátozó ellenállásokat igényelnek, ha 5 V-os logikai pinről kapnak áramot. Az ellenállás értéke jellemzően 330 és 470 ohm között van. A LED-szegmensek további meghajtóáramának biztosításához pedig meghajtótranzisztorok használata ajánlott, mivel a mikrokontroller minden egyes csapja csak közel 40 mA áramot képes forrasztani vagy elvezetni. Ha a kijelző összes (hét) szegmense egyszerre van bekapcsolva (a 8-as szám), az áramigény meghaladja ezt a 40 mA-es korlátot. Az alábbi képen látható az áramkorlátozó ellenállások és a meghajtó tranzisztorok alapvető kapcsolási rajza.
A következő az Arduino 4 számjegyű 7 szegmensű LED kijelző Hookup diagramja, amelyet az Arduino vázlat követ. Óvatosan kövesse a bekötési diagramot a hardver befejezéséhez,majd töltse fel a vázlatot az Arduinóra az Arduino IDE segítségével a szokásos módon. A kész áramkör 0-tól 1023-ig terjedő számokat jeleníthet meg, az Arduino tábla A0 analóg bemenetéhez csatlakoztatott 10K előbeállító potival kapcsolatban.
Ez a 4 -számjegyű 7-szegmens kijelző szakasz négy közös katódú 7-szegmens LED kijelző és négy BC547 npn tranzisztor körül van bekötve. Az 1K ellenállások az alapáram korlátozására szolgálnak, a 390R ellenállások pedig a LED-kijelző szegmenseinek működési áramát korlátozzák.
Az Arduino lapon a D2-D8 digitális kimenetek a szegmensek (a-g) meghajtására szolgálnak, a D9-D12 digitális kimenetek pedig a 4×7 LED-kijelző számjegyeihez (D0-D3). Vegyük észre, hogy itt a tizedesvessző (dp) opciót nem használjuk, de szerepel a vázlatban. Az Arduino D13-ja a tizedesvessző szegmens számára van fenntartva. A 10K potenciométer az AO analóg bemenethez van csatlakoztatva, ahogyan az a kapcsolási ábrán látható.
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:
Vélemény, hozzászólás?