Steuerung einer LED Matrix

6 Schritt:Schritt 1: Rohstoffe Sammeln Schritt 2: Wie eine LED-Matrix Works Schritt 3: Verdrahtung Schritt 4: Code Schritt 5: Hochladen in Edison Schritt 6: Gehen Weitere

Steuerung einer LED Matrix


LED-Arrays sind viel Spaß, und einfacher als Sie vielleicht denken, zu steuern. In diesem Instructable, erfahren Sie, wie eine LED-Matrix aufgebaut ist und funktioniert und wie man es mit einem MAX7219-Treiber-Chip zu fahren. Wir werden mit einem Intel Edison mit Arduino Breakout-Board, um statische Bilder und Animationen zu programmieren.
Nach dem Erlernen der Grundlagen, besuche die Seite Ressourcen, in dem Sie eine binäre Uhr, eine Partie Tetris und mehr zu bauen!

Schritt 1: Rohstoffe Sammeln

  1. Steuerung einer LED Matrix

    Steuerung einer LED Matrix

    Steuerung einer LED Matrix

    [1] 8 x 8-Matrix
    [1] MAX7219 Fahrer
    [1] 0,01 uF Kondensator
    [1] 10 uF Kondensator
    [1] Breadboard
    [1] Edison Arduino Board mit Breakout
    [1] 28K-Widerstand
    [Viele] Schaltdrähte

Schritt 2: Wie eine LED-Matrix Works

  1. Steuerung einer LED Matrix

    Ein LED-Array ist eine Sammlung von LEDs, können sie in vielen Mustern angeordnet werden, die typischsten ist eine einzige Zeile oder einem Matrixmuster. Hier decken wir die Matrixmuster. Eine Matrix definiert eine rechteckige oder quadratische, bestehend aus sich kreuzenden Zeilen und Spalten. Der Schnittpunkt dieser Zeilen und Spalten sind wichtig, um, wie wir an die Matrix zu sprechen und zu adressieren einzelnen LEDs.
    Beginnen wir mit Blick auf eine LED, gibt es einen negativen (Kathode) Terminal, das in Richtung Boden geht, und eine positive (Anode) ein, die in Richtung Strom ausfällt. Die Powerklemme wird mit einem Mikrocontroller I / O-Pin, die Pumpe wird aus Spannung, verwandelte sie ein und aus, basierend auf der hochgeladenen Programm. Die Anoden und Kathoden verbunden sind, die Spalten und Zeilen gebildet wird. Eine LED-Matrix können entweder Spalte Anode oder Kathode Spalte (wie in der Abbildung oben).
    Wenn wir in der Lage, jeweils einzeln zu führen, zu steuern gesucht jeder LED in einer Matrix, müsste seine eigene I / O-Pin. Eine 8x8-Matrix würde 64 Pins benötigen. Das ist viel! Zum Glück gibt es so etwas wie Multiplexing, die die Anzahl der Pins 16 benötigt, um die Matrix zu steuern reduziert. Die Stifte können dann durch die Zeilennummer bzw. Spaltennummer bezeichnet werden, zum Beispiel, Reihe 1-8 (R1 - R8) oder Spalte 1-8 (C1 - C8).
    Multiplexing funktioniert durch Einschalten LEDs in einer Reihe oder Spalte zu einer Zeit, der Einfachheit halber, sagen wir an Reihen drehen. Jede Zeile wird ein und aus direkt nach einander mit einer Rate schnell genug, dass die Trägheit des Auges bewirkt, dass wir ein statisches Bild zu sehen gedreht.

Schritt 3: Verdrahtung

  1. heruntergeladen
    Steuerung einer LED Matrix

    Steuerung einer LED Matrix

    Wenn ein Multiplexmatrix wird an den Mikrocontroller integriert, wird jeder der 16 Pins auf der Matrix müssen zu 16 digitale I / O-Pins zu verdrahten. Egal, welche Dimension die Matrix ist, fügen Sie diese Stifte auf. Hier wird der MAX7219-Treiber-Chip kommt in handliches. Es nimmt alle 16 Stifte einer 8x8-Matrix und reduziert die Anzahl der an einen Mikrocontroller bis 3 Stifte, die Daten in, Last (CS) und Taktstift.
    Identifizierung von Pins auf Matrix
    Bevor der Matrix wird auf die Treiber-Chip verbunden ist, müssen Sie ermitteln, welche Pins an den Spalten und Zeilen, die jeder LED schneidet entsprechen. Das können wir herausfinden, indem du das Datenblatt für die LED-Matrix verwendet wird. Es hilft, ein Stück Klebeband an der rechten und unteren Rand der Matrix setzen und dann aufschreiben, was der Stift entspricht.
    Anschließen MAX7219 In Matrix
    Sobald die Stifte identifiziert sind, können sie auf dem Treiberchip verbunden werden. Mit Blick auf das Datenblatt, können wir sehen, gibt es Seg und Dig-Pins. Die Seg Pins zu verbunden, um die Anoden, die Dig Stifte verbinden mit den Kathoden. Wie die Matrix, die Seg Stifte nicht unbedingt in der angegebenen Reihenfolge bei der Betrachtung der Chip-Pins, jeder Stift muss identifiziert werden, wie dem Seg und Dig pin sie sind. Um es einfacher, habe ich erkannt und kartiert die Stifte der Treiber-Chip die PIN-Nummer der Matrix für Sie. Siehe das Bild oben und die Anschlüsse mit Drahtbrücken.
    Anschließen MAX7219 zu Edison
    Verbinden Sie diese 3-Pins an den Arduino Breakout-Board:
    Mitnehmerstift 12 / Load (CS) -> 10
    Mitnehmerstift 13 / Clock -> 11
    Mitnehmerstift 1 / Data In -> Pin 12
    Wenn Anschluss mehrerer Matrizen, Daisy-Chain-Treiber, indem Sie den Mitnehmerstift 24 / Data Out auf der nächsten Treiberchip PIN12 / Daten In.

Schritt 4: Code

  1. Steuerung einer LED Matrix

    Steuerung einer LED Matrix

    Vor dem Hochladen des Programms, muss der LedControl.h Bibliothek heruntergeladen und in der / Bibliotheken-Verzeichnis Arduino setzen.
    Auf eine LED einschalten, entweder die ganze Zahl 0 oder 1 ist, muss durch Software gesendet. Das Muster kann aus einem Gitter vorstellen, jede LED oder Pixel, das muss auf korrespondiert mit der Zeile und Spalte auf der LED-Matrix gesetzt gedreht werden. Alle LEDs, die eingeschaltet werden müssen zugewiesen a 1, LEDs, die ausgeschaltet sind sind eine 0. Oberhalb finden Sie zugewiesen wird die strukturierte Logik verwendet werden, um ein Sternchen angezeigt zu finden.
    Denken Sie daran, wir sind mit einem Spaltenkathodenmatrix arbeitet, so werden wir das Senden der Zeilen der Daten. Wenn eine Zeile der als Array dachte, du kannst auf R1 durch Senden der binären Logik zu aktivieren:
    R1: 10011001
    Sie können dann auf Zeilen drehen 2-8, indem Sie wie folgt vor:
    R2: 01011010
    R3: 00111100
    R4: 11111111
    R5: 11111111
    R6: 00111100
    R7: 01011010
    R8: 10011001
    Durch die Verwendung von Ein- und Ausschalten LEDs in einem Raster Design kann jedes Standbild gemacht werden, innerhalb Auflösung Einschränkungen der Matrix. Aber was, wenn Sie eine Animation erstellen wollen? Es ist einfacher als Sie vielleicht denken, jedes Bild der Animation muss nur der als statisches Bild vorstellen. Laden Sie eine Funktion mit Arrays, die jedes Bild der Animation, wenn sie aufgerufen wird Ihr Design spielen hält. Um die Bildrate zu diktieren, legen Sie eine Verzögerung () nach jedem Rahmen mit dem Wert in Millisekunden.
    Laden Sie das beigefügte Beispiel-Code und gehen Sie zum nächsten Schritt lernen, wie man auf den Edison hochladen. Das Programm zeigt eine statische Knall (!), Stern (*) und Herz und eine animierte explodierenden Herzen.

Schritt 5: Hochladen in Edison

  1. neueste Firmware
    Die Edison über den Eclipse und Arduino IDE programmiert werden. Sprachen, die verwendet werden können, sind C / C ++, Arduino Sprache und Javascript.
    Intel verfügt über umfangreiche Dokumentation auf ihrer Website für die Edison und Galileo. Im Folgenden sind einige der wichtigsten Schritte aufgeführt, um bewusst bei der Vorbereitung, um ein Programm zu dem Edison-Board mit Links zu relevanten Seiten hochladen. Für weitere Informationen und Dokumentationen, beginnen um Intels Get Started Seite. Dort erfahren Sie, wie man Hardware, Software herunterladen zu montieren und finden Sie Demos und Links bietet Beispiel-Code.


    Arduino
    Holen Sie sich Ihre Edison blitzte mit der neuesten Firmware und lernen, um es durch den USB-Seriell-Port anschließen. Eclipse laden Sie auch brauchen, um es zu einem WiFi-Netzwerk zu verbinden, mit Arduino es ist nicht notwendig. Laden Sie Intels Arduino IDE , wenn Sie es öffnen Sie die Intel Edison und Galileo Platten im Menü Extras anzuzeigen. Ein Verständnis der Arduino ist, bevor man mit Intel-Version gestartet empfohlen.
    Buchtipp:
    Erste Schritte mit Arduino Schritte
    Laden Sie Ihre erste blink Skizze an die Edison


    Eklipse
    Um ein Programm über Eclipse-laden, muss der Edison Bord zu einem Netzwerk verbunden werden und Ihr Computer muss mit dem gleichen Netzwerk verbunden sein. Nach dem Flashen die neueste Firmware und die Verbindung mit dem USB-serielle Schnittstelle, besuchen Sie Intels Get Started Seite, und wählen Sie, wie Sie mit Ihrem Board online gehen wollen.
    Wenn die Programmierung in C / C ++, bietet Intel Beispiel-Code auf ihrer Github MRAA und UPM Bibliothek Seiten.
    Folgen Sie den Schritten auf Intels Website , wie Sie die Eclipse-IDE zu installieren und wie Sie ein neues Projekt zu erstellen , das, wie man das Programm über Eclipse-blink hochladen zeigt.
    Wenn Sie nicht weiterkommen, der beste Ort, um Hilfe bei der Fehlersuche ist Intels Forum .

Schritt 6: Gehen Weitere

  1. Flammeneffekt
    Projekte
    Zweifarbige LED Matrix Tetris Game
    Pong mit 8x8 LED-Matrix
    Binary Clock
    MAX7219 Datenblatt
    8x8 Matrix Datenblatt


    Ressourcen
    MAX7219 Datenblatt
    8x8 Matrix Datenblatt
    Adafruit
    Sparkfun
    Lernen
    Persistence of Vision
    LEDControl : Arduino.cc
    MAX7219 : Arduino.cc
    Es ist eine weitere Möglichkeit, die Matrizen können in konfiguriert werden, andere als Multiplex, die sogar weniger Pins verwendet. Dies nennt Charlieplexing. Um mehr über das, was es ist und wie man hook up zu lernen, beginnen Sie mit dem Fabrikat: Artikel über dieses Thema.