Top 10 Artikel
On Oktober 12, 2021 by adminKürzlich haben wir ein Arduino-Einsteigerprojekt mit einer einzelnen 7-Segment-LED-Anzeige veröffentlicht. Obwohl es ein erstaunliches Heimwerkerprojekt ist, haben wir festgestellt, dass die meisten Leser nach fortgeschritteneren Schaltungen mit mehreren Sieben-Segment-Leuchtdiodenanzeigen suchen. Hier ist eine einfache, aber nützliche Schaltung für eine 4-stellige 7-Segment-LED-Anzeige von Arduino. Das hier verwendete Modul ist ein in sich geschlossenes, kompaktes Modul mit gemeinsamer Kathode, das vier numerische 7-Segment-LED-Anzeigen enthält.
Jedes Segment im Anzeigemodul ist gemultiplext, das heißt, es teilt sich dieselben Anodenanschlusspunkte. Und jede der vier Ziffern im Modul hat ihren eigenen gemeinsamen Kathodenanschlusspunkt. Dadurch kann jede Ziffer unabhängig ein- oder ausgeschaltet werden. Außerdem werden durch diese Multiplex-Technik die vielen Mikrocontroller-Pins, die zur Steuerung einer Anzeige erforderlich sind, auf nur elf oder zwölf reduziert (anstelle von zweiunddreißig)!
Die LED-Segmente der Anzeige benötigen Strombegrenzungswiderstände, wenn sie von einem 5-V-Logik-Pin versorgt werden. Der Wert des Widerstands liegt normalerweise zwischen 330 und 470 Ohm. Außerdem werden Treibertransistoren empfohlen, um die LED-Segmente mit zusätzlichem Strom zu versorgen, da jeder Pin eines Mikrocontrollers nur etwa 40 mA Strom liefern bzw. ableiten kann. Wenn alle (sieben) Segmente der Anzeige auf einmal eingeschaltet werden (die Zahl 8), übersteigt der Strombedarf diese 40 mA-Grenze. Das unten gezeigte Bild zeigt das grundlegende Verdrahtungsschema der Strombegrenzungswiderstände und Treibertransistoren.
Nachfolgend ist das Anschlussschema der Arduino 4-stelligen 7-Segment-LED-Anzeige, gefolgt von der Arduino-Skizze. Folgen Sie sorgfältig dem Anschlussdiagramm, um Ihre Hardware zu vervollständigen, und laden Sie dann den Sketch mit der Arduino-IDE wie üblich auf Arduino hoch. Die fertige Schaltung kann Zahlen von 0 bis 1023 anzeigen, in Verbindung mit einem 10K-Voreinstellpotentiometer, das an den analogen Eingang A0 des Arduino-Boards angeschlossen ist.
Dieser 4 -stellige 7-Segment-Anzeigeabschnitt ist um vier 7-Segment-LED-Anzeigen mit gemeinsamer Kathode und vier BC547 npn-Transistoren herum geschaltet. Die 1K-Widerstände werden zur Begrenzung des Basisstroms verwendet, und die 390R-Widerstände begrenzen den Betriebsstrom der LED-Anzeigesegmente.
In der Arduino-Platine werden die Digitalausgänge von D2 bis D8 zur Ansteuerung der Segmente (a bis g) verwendet, und die Digitalausgänge D9 bis D12 werden für die Ziffern (D0-D3) der 4×7-LED-Anzeige verwendet. Beachten Sie, dass hier die Option Dezimalpunkt (dp) nicht verwendet wird, aber in der Skizze enthalten ist. D13 des Arduino ist für das Dezimalpunktsegment reserviert. Das 10K-Potentiometer wird an den Analogeingang AO angeschlossen, wie im Anschlussplan angegeben.
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:
Schreibe einen Kommentar