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 so genannte 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.

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 an!
Darin findest du die beliebtesten Arduino-Projekte von StartHardware. Jedes Projekt umfasst Schaltplan, Bauteile, Beschreibung und Code. Für Einsteiger gibt es ein Arduino-Schnellstart-Kapitel und einen kompakten Programmierkurs. Zusätzlich findest du Zwischenkapitel mit Expertenwissen zu den Komponenten, die verwendet werden. Alle Code-Beispiele gibt es natürlich als Download.
Weitere Informationen findest du auf der Produktseite. Klicke jetzt auf den Button, um Details anzusehen.