Zum Inhalt springen
Arduino LED Matrix Max7219

Arduino LED-Matrix mit Max7219 Treiber

    Du erfährst hier, wie du eine LED-Matrix mit Arduino steuern kannst. Mit der richtigen LED-Matrix ist das kein Problem.

    Ich habe viel Zeit mit dem Programmieren von LED-Matrix-Displays verbracht und wenn ich eines gelernt habe, dann ist es, dass es wenig Sinn macht, eine LED-Matrix direkt an Arduino anzuschließen. Die unterschiedlichen LED-Matrix-Arten wie Common Cathode und Common Anode, die unterschiedlichen Pinbelegungen der Displays und das Pin-Multiplexing machen es einem wirklich nicht leicht. Spar dir diesen Aufwand und investiere gleich in eine LED-Matrix mit Steuer-IC wie dem Max7219.

    Max7219 LED Matrix

    Dieser LED-Treiber ist in der Lage 64 LEDs gleichzeitig zu steuern und benötigt dabei nur der Pins des Arduino Boards. Dabei handelt es sich um die sogenannte SPI-Schnittstelle. Hier werden also Daten zwischen Arduino und Max7219 ausgetauscht. Es macht wie gesagt total Sinn, ein LED-Matrix-Modul zu kaufen, das diesen Chip bereits integriert hat. Diese Module kosten mittlerweile fast weniger als die LED-Matrix-Displays allein. Außerdem kann man viele davon hintereinander betreiben.

    Schaltplan Arduino LED-Matrix

    Der Aufbau ist relativ simpel. Die LED-Matrix benötigt natürlich 5V+ und GND, darüber hinaus die Verbindung zur SPI-Schnittstelle. Die Pins 10, 11, 12 vom Arduino werden an die Anschlüsse CS, CLK und DIN des LED-Matrix-Displays angeschlossen.


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Arduino LED-Matrix Max7219

    Das Fritzing-Bauteil findest du übrigens hier: Fritzing Bauteil.

    Code

    Zum Betreiben des Max7219-ICs benötigst du die LedControl-Programmbibliothek. Klicke in der Arduino-Software auf Sketch>Bibliothek einbinden>Bibliothek verwalten … und trage in das Suchfeld max7219 ein. Installiere die LedControl by Eberhard Fahle Bibliothek in der aktuellen Version. Nun findest du unter Datei>Beispiele>LedControl ein paar Beispiele.

    Ansonsten ist hier eine bereinigte Version:

    #include "LedControl.h"
    
    LedControl lc=LedControl(12,11,10,1);
    byte figure[8]={B00111100,B01000010,B10011001,B10110101,B10111101,B10011001,B01000010,B00111100};
    
    void setup() {
      lc.shutdown(0,false);
      lc.setIntensity(0,8);
      lc.clearDisplay(0);
    }
    
    void loop() { 
      for (int i=0; i<8; i++){
        lc.setRow(0,i,figure[i]);
      }
      delay(20);
    }  
    
    
    // Weitere interessante Befehle:
    //
    // lc.setColumn(0,col,B10100000);
    // lc.setLed(0,row,col,true);

    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    0 0 votes
    Article Rating
    Abonnieren
    Benachrichtige mich bei

    Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..

    1 Kommentar
    Newest
    Oldest Most Voted
    Inline Feedbacks
    Alle Kommentare anzeigen
    3 Jahre zuvor

    #include „LedControl.h“

    LedControl lc=LedControl(12,11,10,1);
    byte figure[8]={B00111100,B01000010,B10011001,B10110101,B10111101,B10011001,B01000010,B00111100};

    void setup() {
    lc.shutdown(0,false);
    lc.setIntensity(0,8);
    lc.clearDisplay(0);
    }

    void loop() {
    for (int i=0; i<8; i++){
    lc.setRow(0,i,figure[i]);
    }
    delay(20);
    }

    // Weitere interessante Befehle:
    //
    // lc.setColumn(0,col,B10100000);
    // lc.setLed(0,row,col,true);

    Kapuut, danke
    bürne würd niechd hella

    1
    0
    Ich würde mich über deine Meinung freuen.x