Mika Tuupola

Fr, Nov 4, 2011

LED-Matrizen sind lustige Spielzeuge. Wer würde Blinkenlights nicht lieben? Elektronik ist hart. Elektronik ist viel schwieriger als Programmieren. Es fiel mir schwer zu verstehen, wie die LED-Matrizen funktionieren. Was ist der beste Weg, um etwas zu lernen? Bauen Sie selbst eine.

Struktur der LED-Matrix

In einem Matrixformat sind LEDs in Zeilen und Spalten angeordnet. Sie können alsothink von ihnen als y- und x-Koordinaten. Nehmen wir an, wir haben eine 4×4-Matrix.Zeilen würden von A bis D und Spalten von 1 bis 4 markiert. Jetzt können wir jede LED nach Zeile und Spalte adressieren. Die obere linke LED wäre (A, 1). Die untere LED wäre (D, 4).

LED-Matrizen gibt es in zwei Varianten. Gemeinsame-reihe anode (links) und gemeinsame-reihe kathode (rechts).

LED-Matrizen

Abbildung oben zeigt die verschiedenen Konfigurationen. Der unterschied betweenthese zwei konfigurationen ist, wie sie beleuchtet eine led. Mit Common-Row-Eloxalstromquellen (positive Spannung) sind an Reihen A angeschlossen..D andcurrents sinkt (negative Spannung, Masse) auf Spalten 1..4. Withcommon-Reihe Kathodenstromsenken sind an Reihen A angebracht..D und currentssources zu Spalten 1..4.

Zum Beispiel. Zu licht unten unten led (D, 4) von gemeinsame kathode matrix youwould feed positive spannung zu spalte 4 und verbinden reihe D zu boden. Forsake der Klarheit werde ich mit Common-Row-Kathode in Beispielen für den Rest dieses Artikels.

Aufbau einer LED-Matrix

Um eine 4×4 Common-Row-Kathodenmatrix zu bauen, benötigen Sie 16 LEDs, vier Widerstände, einige Header und ein Prototyping-Board. Ich begann mit dem Kleben theleds zu Prototyping Board mit Epoxidkleber. Auf diese Weise ist es einfacher zu habenbetten schön ausgerichtet. Achten Sie beim Verkleben der LEDs darauf, dass lang und kurzDie Beine sind gleich ausgerichtet.

LED-Matrix kleben

Wenn der Kleber trocken ist, ist es Zeit zu biegen und zu löten. Biegen Sie zuerst alle Kathodenum so nah wie möglich an der Platine zu bleiben. Löten Sie alle Kathodenin jeder Reihe zusammen. Wenn die Kathoden fertig sind, biegen Sie alle Anoden. Anodesmust Kathoden nicht berühren. Ich benutzte ein Stück Plastikschlauch, um die Anoden zu biegen, um eine Brücke über den Kathoden zu bilden.

Biegebeine

Löten Sie nun alle Anoden in jeder Reihe zusammen. Löten Sie die Header undVerbinden Sie die Zeilen direkt mit dem Header.

Unten

Die Anodenreihen sind mit Strombegrenzungswiderständen an den Header angeschlossen.Der Wert des Widerstands hängt von der verwendeten LED ab. Überprüfen sie die LED datenblatt für vorwärts spannung und strom. LEDcalculator wird Ihnen helfen, herauszufinden,korrekter Widerstand. Matrix ist jetzt bereit zum Testen.

 Top

Adressierung Einzelne LED

Anschluss boden zu reihe A und positive spannung zu spalte 1 wird lightthe top rechts LED (A, 1).

 Einzelne led leuchtet

Anschluss boden zu reihe D und positive spannung zu spalte 4 wird lightthe unten unten LED (D, 4).

 Einzelne LED leuchtet

Intuition würde sagen, wenn Sie beide (A, 1) und (D, 4) gleichzeitig beleuchten, schließen Sie einfach alle vier Drähte an. Dies ist nicht der Fall. Es arefour LEDs, die beleuchtet werden. Dies liegt daran, dass auch durch (A, 4) und (D,1) Strom fließt.

 Vier leds leuchtet

Multiplexing und Persistenz der Vision

Multiplexing können verwendet werden, um beliebige muster mit ledmatrices. Multiplexing wird manchmal auch als Scannen bezeichnet. Es scannt reihen (in der regel von oben nach unten) und lichter benötigt leds nur in einer reihe attime. So etwas wie folgendes:

  1. Beginnen Sie damit, dass alles getrennt wird.
  2. Alle benötigten Spalten mit positiver Spannung verbinden.
  3. Reihe mit Masse verbinden. Dadurch leuchten die benötigten LEDs in der Reihe.
  4. Trennen Sie die Zeile und alle Spalten.
  5. Führen Sie die gleichen Schritte nacheinander für alle Zeilen aus und beginnen Sie dann von Anfang an.

Tun Sie dies langsam und Sie würden blinkende LED-Reihen sehen. Tun Sie es wirklich schnellund das menschliche Auge kann das ganze Muster sehen. Phänomen wird genanntpersistenz der Vision.

Zeichne ein Muster

Schreiben wir einen einfachen Code zum Zeichnen eines Musters auf der Matrix. Hinweis!Obwohl ich ein Arduino-Board verwende, verwende ich weder Arduino-Bibliotheken noch Module zum Entwickeln. Ich mag jedoch das Arduino Pin-Nummerierungsschema.Die Funktionen pin_mode() und digital_write()funktionieren genauso wie ihre Arduino-Äquivalente.

Wir beginnen damit, die Pins und den Standardstatus für sie einzurichten.

uint8_t column_pins = { 2, 3, 4, 5 };uint8_t row_pins = { 11, 10, 9, 8 };static void init(void) { /* Turn all columns off by setting then low. */ for (uint8_t x=0; x<4; x++) { pin_mode(column_pins, OUTPUT); digital_write(column_pins, LOW); } /* Turn all rows off by setting then high. */ for (uint8_t y=0; y<4; y++) { pin_mode(row_pins, OUTPUT); digital_write(row_pins, HIGH); }}

Um ein Muster auf der Matrix anzuzeigen, verwenden wir die Funktion draw() .Bitmap wird als zweidimensionales Array übergeben. Verzögerung wird nur verwendet, umdemonstrieren Persistenz der Vision.

uint8_t pattern = {{1,0,0,1}, {0,1,0,0}, {0,0,1,0}, {1,0,0,1}};void draw(uint8_t buffer, uint8_t delay) { for (uint8_t row=0; row<4; ++row) { /* Connect or disconnect columns as needed. */ for (uint8_t column=0; column<4; ++column) { digital_write(column_pins, buffer); } /* Turn on whole row. */ digital_write(row_pins, LOW); _delay_ms(delay); /* Turn off whole row. */ digital_write(row_pins, HIGH); }}

Um die Persistenz des Sehens zu untersuchen, zeichnen wir das Muster mitverschiedene Verzögerungen.

uint8_t main(void) { init(); /* With 100ms delay eye can see updating row by row. */ for (uint8_t i=0; i<10; i++) { draw(pattern, 100); } /* With 10ms delay pattern appears but flickers. */ for (uint16_t i=0; i<100; i++) { draw(pattern, 10); } /* Withoud delay solid pattern appears. */ while (1) { draw(pattern, 1); } return 0;}

Der vollständige Code kann von GitHub gefunden werden.Überprüfen Sie die Ausgabe von Video unten.

Mehr lesen

Circuit Skills: LED Matrix von Make Magazine. Ansteuerung einer LED mit oder ohne Widerstand von Alexander Weber. Einführung in die Ansteuerung von LED-Matrizen (PDF) technote von Avago Technologies. Licht Emittierende Dioden (LEDs) durch die Elektronik Club.

Veröffentlicht unter

AVR Electronics

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.