Es wird der Zusammenbau und einer quadratischen LED Matrix gezeigt, da jene Module nicht zusammengelötet geliefert werden. Außerdem wird eine Library für den MAX7219 IC für nachfolgende Projekte installiert, die die Ansteuerung mit einem Python Skript sehr einfach macht.
Übersicht
Die folgenden Bauteile sind vorhanden:
Folgendes Zubehör wird gebraucht:
- quadratische Matrizen (ideal sind 9 oder mehr)
- Lötkolben
- Lötzinn
- Lötfett (optimal)
- feuerfeste Unterlage (dicker Karton tut es auch)
Zusammenbau
Als erstes muss der IC MAX7219 auf die Platte gelötet werden. Wichtig ist hierbei die Ausrichtung. Achte dabei, dass die Beschrifung „N3“ und „N4“ unten ist, ebenso wie der Punkt auf dem Baustein links unten:
Bestreiche nun die Kontaktflächen als erstes mit Lötfett und positioniere den Baustein auf der Platte. Am besten du lötest als erstes zwei Enden an, damit er nicht verrutscht. Danach kannst du vorsichtig jeden einzelnen Pin an die Kontaktfläche löten. Da der Abstand sehr klein ist, solltest du aufpassen, dass keine zwei Pins versehentlich miteinander verbunden sind, da dies später einen Kurzschluss verursachen kann. Nimm dir dafür ruhig mehr Zeit, damit
Wenn alle Kontakte angelötet sind, sollte es ungefähr so aussehen:
Als nächstes sind die beiden Pin-Header für die eigentliche Dot Matrix dran. Damit später alles passt, solltest du sie bereits jetzt aufsetzen.
Jetzt kannst du sie auf die Platte stecken und fest löten. Achtung: Die Seite mit dem Bauteil muss zu dir schauen und nicht von den LEDs verdeckt sein. Hier fällt das löten wieder einfacher, da auch mehr Platz zwischen den Pins ist.
Als nächstes ist der quaderförmige Kondensator dran. Entferne dazu die LED Platte noch einmal und löte den Kondensator an. Die längere Seite des Drahts kommt das Loch, neben dem + gedruckt ist und die kürzere in das andere Loch, sodass es folgend aussieht (Ich habe den Draht noch etwas gekürzt und den Kondensator nach dem anlöten geknickt, um Platz zu sparen):
Der folgende Schritt ist meiner Meinung nach nochmal etwas schwer, da die Bauteile sehr klein sind. Es wurden zwei ca. 1mm große Bauteile, die nur schwer in Position zu halten sind.
Nimm als erstes den Widerstand: Dieser ist etwas größer und es steht 103 (oder auch 1002) darauf, was für 10k Ohm steht. Dieser kommt zwischen die Kontaktflächen bei R1.
Das andere Bauteil kommt zwischen die Kontaktflächen bei C1 (0.01uF). Die Ausrichtung bei beiden ist egal.
Im folgenden Bild habe ich die beiden Stellen umkreist:
Damit ist der Großteil geschafft. Lediglich die Verbindungspins fehlen noch. Mache davon 2 mal je 5 aneinander ab und löte sie an die von unten (die Seite, auf der der quaderförmige Kondensator ist) an. Die restlichen Pins teilst du in 4 Teile, je 2 Pins nebeneinander und lötest sie an die Ecken:
Das war’s. Du kannst nun das LED Modul wieder aufsetzen und anschließen.
Die Anschlüsse sind wie folgt:
Installation
Ich benutze diese Bibliothek zum ansteuern der Matrix:
git clone https://github.com/rm-hull/max7219.git
&& cd max7219
Nach der Installation
sudo python setup.py install
kann die Testdatei gestartet werden und die LED Matrix sollte anfangen zu leuchten.
sudo python examples/test.py
Wenn es nun blinkt hat alles geklappt, ansonsten versuche das LED Modul umgekehrt auf die Platine zu stecken.
50 Kommentare
hi, wollte das projekt machen habe aber schon beim installieren probleme, wenn ich
git clone https://github.com/rm-hull/max7219.git && cd max7219
in meinem raspi eingeben kommt folgende meldung
fatal: destination path ‚max7219‘ already exists and is not an empty directory
was läuft da falsch , bitte um hilfe ?
danke im voraus
Hallo Heiko,
ganz einfach, du hast bereits einen entsprechenden Ordner (wahrscheinlich davor schon geclont?). Nachschauen kannst du mit
ls
.Um den Ordner zu löschen und dann erneut zu clonen kannst du folgendes eingeben:
LG Felix
hallo, hatte das projekt zum laufen gebracht mein fehler war das ich nicht in das verzeichniss max7219
gewechselt bin und somit konnte ich auch nicht sudo python setup.py install machen, danach ging alles, habe aber ein neues Problem, habe meinen raspi ein upgrate auf ein neues kernel verpasst, jetzt geht aber das wieder nicht kann es starten aber die matrix und die segmentanzeige bleiben dunkel, angeschloßen ist alles richtig und der I²c und so geht auch da andere anwendungen (auch mit der ansteuerung der matrix) gehen, nur eben das projekt was sie beschreiben nicht muß etwas anderes angepasst werden ?
Mit freundlichen Grüßen
Heiko
Hallo Heiko,
du kannst mal eine andere Bibliothek ausprobieren, diese habe ich selber geschrieben und hier erklärt: Bibliothek für mehrzeilige m x n MAX7219 LED Matrizen
Damit sind auch mehrere Matrizen als Cluster möglich.
LG Felix
Moin Moin,
funktioniert das auch mit dem Raspberry Pi 2 und Jessi? Bei mir will das nicht laufen.
Ich habe jetzt 3 zusammengelötet und alle 3 leuchten gleich „falsch“ beim Anstecken.
3 falsch gelötet halte ich für ziemlich unwahrscheinlich 🙁
Mit den Python Beispielen passiert auch nicht sehr viel außer ein wenig hin und
her gespringe der LEDs. Eine Struktur oder eine Demo ist leider nicht zu erkennen.
Jemand eine Idee? Leider kann ich hier kein Foto anhängen.
Gruß
Holger
Hallo Holger,
sind deine Module quadratisch? Die quadratischen unterscheiden sich von den rechteckigen. Oder bekommst du einen Fehler?
Bilder kannst du z.B. auf http://imgur.com/ hochladen und hier verlinken.
LG Felix
Hi,
sind die quadratischen 8×8 aus China wie im Tutorial angegeben 🙂
Gruß
Holger
Bekommst du eine Fehlermeldung? Am Pi 2 sollte es eigentlich nicht liegen, allerdings wäre es gut, falls du es unter Raspbian nochmal ausprobieren könntest. Zumindest habe ich es darunter geschrieben und getestet.
Hi,
nein ich bekomme keine Fehlermeldung am Pi. Ich habe Raspbian installiert. Allerdings Jessi.
Gruß
Holger
Ich meine Raspbian Wheezy 🙂 Ein Bild wäre auch hilfreich.
Hallo Felix,
so, ich habe mal Fotos hochgeladen.
Die 3 Matrizen sehen so aus nach dem Anstecken an den Pi. Absolut identisch.
http://imgur.com/a/I6Ba4
Auch wenn ich sie einzeln anstecke stellt es sich so dar.
Starte ich die multilineMAX7219_demo.py sieht es dann so aus.
http://imgur.com/a/E5q2u
In der multilineMAX7219.py habe ich Höhe und Breite korrekt eingetragen.
Hast Du eine Idee?
Gruß
Holger
Ferndiagnose ist zwar immer schwer, aber zumindest dem zweiten Bild zufolge würde ich sagen, dass zwei oder mehr Pins des MAX7219 zusammengelötet wurden (die verschiedenen Helligkeitsstufen deuten sehr darauf hin, da per Code nur die Helligkeit des gesamten Moduls regelbar ist). Mir ist das auch einmal passiert und das Ergebnis sah ähnlich aus. Du kannst ja mal die Marizen einzeln testen (nimm am besten für die Tests die Bibliothek aus diesem Thread [rm-hull], da sie für einzelne Matrizen geschrieben wurde – meine primär für N x M aneinandergereihte).
Bilder sind jetzt hochgeladen 🙂 Ging nicht eher, da ich unterwegs war…
hier noch ein Foto von der Rückseite
http://imgur.com/a/PPC5w
Seltsam, hier sieht es nach sauberen Lötstellen aus. Hast du mit verschiedenen Bibliotheken (rm-hull / JonA1961 / meiner) die gleichen Probleme? Falls ja ist es ziemlich sicher, dass es an der Hardware liegt. SpiDev etc. hast du erfolgreich installiert? (
sudo apt-get install python-dev python-pip && sudo pip install spidev
)Jetzt stand das da:
MATRIX_WIDTH
undMATRIX_HEIGHT
angepasst?Nachdem ich jetzt mal LED gedreht habe und eingesteckt habe, laufen 2 Matritzen 🙂
Dann hast du wohl an den Ausgang der Matrizen angeschlossen (COUT) 😉
Nein, ich habe die Kabel vom Raspi schon auf IN gesteckt. Aber LEDs selber die auf die Platine gesteckt werden, die habe ich gedreht 🙂 Jetzt funktionieren auch schon 3 😀
Achso 😀 Darauf weiße ich in einem der nachvollgenden Artikel hin, soviel ich mich erinnere 😛
Ja, das habe ich gelesen. Da stand (sinngemäß) wenn nix zu sehen ist, dann drehen. Aber ich hatte ja was gesehen ? Hab ich halt falsch interpretiert.
Aber wieder mal großen Dank für deine schnelle Hilfe und Unterstützung
Holger
Versuche mal den MAX 7219 um 180° u drehen.
Bei mir war er vom Hersteller falsch eingebaut.
Geht es mit dieser LED Matrix genau gleich auser ,dass sie schon zusammen gebaut ist? http://www.banggood.com/MAX7219-Dot-Matrix-MCU-LED-Display-Control-Module-Kit-For-Arduino-p-915478.html
Der Zusammenbau ist ähnlich, aber die Benutzung meiner Bibliothek wird nicht funktionieren (deine Matrix ist nicht quadratisch und das Bild würde gedreht sein).
Ok vielen Dank 🙂
Ich habe ein Problem. Nach dem ich sudo python examples/test.py eingegeben habe, kommt eine Fehlermeldung: python: can’t open file ‚examples/test.py‘: [Errno 2] No such file or directory . Was könnte das sein? Vielen Dank
Die Datei oder das Verzeichnis existiert nicht. Mach mal
ls
undls examples
um dir alles anzeigen zu lassen.Hello Felix,
(Sorry for writing in English)
First of all :Thanks a lot for the great work!
However, I have a 16×16 display (from China, on eBay), which is wired:
1 – 2
0 – 3
I was able to modify the files, so most of it works now 🙂
If you’re intrested in the modified version, please let me know.
Best regards,
Noel
Hey Noel,
thanks for your feedback! It would be great if you could create a fork of my repo on Github. I would link it here, for other users 🙂
Kind regards,
Felix
Kann ich das auch mit diesem Kit machen?
http://www.instructables.com/id/Large-8×8-LED-Matrix-Display/
Kann ich dir leider nicht sagen. Müsstest du ausprobieren.
Ich bekomme folgende Fehlermeldung:
sudo python matrix_test.py
Traceback (most recent call last):
File „matrix_test.py“, line 11, in
device = led.matrix(cascaded=0)
File „build/bdist.linux-armv7l/egg/max7219/led.py“, line 46, in __init__
AssertionError: Must have at least one device!
Eine Idee an was es liegt?
Leuchten tut das Modul (wenn ich es nur mit Spannung versorge).
Habe folgendes Problem und habe keine Ahnung woran es liegt, hat jemand eine Idee? Danke schonmal im voraus
~/max7219 $ sudo python examples/matrix_test.py
Traceback (most recent call last):
File „examples/matrix_test.py“, line 11, in
device = led.matrix(cascaded=1)
File „build/bdist.linux-armv7l/egg/max7219/led.py“, line 51, in __init__
IOError: [Errno 2] No such file or directory
Der Autor hat die Dateien verändert. Du müsstest du Bibliothek-Dateien ins Verzeichnis schieben.
Oder aber du nutzt einfach meine geschriebene Library: https://github.com/tutRPi/multilineMAX7219
Hallo
Ich habe eine bereits zusammengebaute Matrix gekauft.
Die Eingänge sind jedoch mit SER, RCK und SRCK beschrifftet.
Wie schliesse ich das ganze nun an meinen Raspberry Pi an?
Das müsstest du mal in deinem Datenblatt nachschauen bzw. den Händler fragen.
Hi, habe nun alles zum laufen bekommen, hab so ein 4in1 Matrix Display gekauft, bei dem 4 Module nebeneinander sind, jedoch bekomme ich nicht hin, dass die Laufschrift Breite=4 hat. Er regiert so= Heigth =4 Width =1, sollte aber Heigth=1 und Width=4 sein, also 90° gedreht, was mach ich falsch?
Danke
Ich hab das nicht mit diesen Modulen getestet, daher kann ich dazu leider nichts genaueres sagen 🙁
Hallo zusammen!
Bei mir liegt ein Problem vor: Ich habe den Ordner erfolgreich geklont und nun möchte ich den oben angeführten Command
sudo python setup.py install
ausführen. Jedoch zeigt mein Terminal dann immer folgende Fehlermeldung an:
compilation terminated.
error: Setup script exited with error: command ‚arm-linux-gnueabihf-gcc‘ failed with exit status 1
Habe es schon mehrmals neu versucht, ich weiß nicht mehr weiter ;(
Vielen Dank im vorraus,
LG Tim
Ich verzweifle gerade. Es läuft alles vorn und hinten nicht 🙁
Überall nur Fehlermeldungen und das obwohl ich es immer wie beschrieben mache.
Bei mir funktionierst mit einer 4in1 Anzeige auch nicht. Wenn ich eine Datei aus examples starten will sagt er mir das keine Anzeige angeschlossen ist, was muss ich tun?
Bei mir steht T
Traceback (most recent call last):
File „python/matrix-cpu.py“, line 4, in
import max7219.led as led
ImportError: No module named max7219.led
Was habe ich falsch gemacht?
Bei mir steht
Traceback (most recent call last):
File „python/matrix-cpu.py“, line 4, in
import max7219.led as led
ImportError: No module named max7219.led
Was habe ich falsch gemacht? Versuche es jetzt schon 10 mal eine Demo laufen zu lassen und bin noch nicht weiter als bis hier gekommen
Die Bibliothek wurde geändert. Nutze am besten die, die ich selbst geschrieben habe (anderes Tutorial).
Hallo Felix,
ich nutze deine Library (multilineMAX7219) aber leider funktionierts nicht richtig auf meinem RPi 3B+ wenn ich die Demo laufen lasse dann geht nur 1 Matritze von 4 an und das leuchtet dann komplett auf oder anderes ich bekomme meistens diesen Fehler angezeigt:
Traceback (most recent call last):
File „multilineMAX7219_demo.py“, line 121, in
LEDMatrix.scroll_message_vert(„Speed: „+chr(48+speed), „Message 2“,speed, DIR_U)
File „/home/pi/multilineMAX7219/multilineMAX7219.py“, line 385, in scroll_message_vert
this_char = font[ord(old_message[position + iter*MATRIX_WIDTH])]
IndexError: string index out of range
das problem hab ich auch
Hallo zusammen
bin am experimentieren mit einem Education Koffer und habe Probleme mit der Matrix
Den Ordner konnte ich wohl laden und installieren. Beim Ausführen der testdatei (test_max7219.py)
kriege ich immer eine Fehlermeldung „no module named „pytest“
weiss jemand rat?
SPI habe ich aktiviert
Ich brauche keinen Matrix Controller sondern will nur wissen wie gross die Vorwiderstände an den gemeinsamen Anoden sein müssen. Ich möchte nur plus und minus anschliessen und die matrix soll als flutlicht scheinwerfer brennen. Den ganzen Programmierschrot brauche ich nicht! Der Lichtstrom wird mit 14,5V (Carrera Digital Standard) betrieben
Bei mir kommt die Meldung …SyntaxError: invalid syntax…
Auserdem leuchten 2 von den 3 Matruzen gleich bei einschalten des PI schon von anfang an.
Testl’ufe funktionieren nicht.
Bitte um Hilfe.