Wie steuert man ein SBM-2388AHOG Matrix Display an?
Ich habe mir so ein großes 8x8 Matrix Display geholt, aber es hat 8 Pins mehr als das normale und ich weiß nicht wie ich das ansteuern muss. Ich finde ausserdem keine Tutorials oder sonstiges. Weiß jemand wie man das ansteuert?
Hier
3 Antworten
In diesem Webshop kannst du dir das Datenblatt herunterladen: Datenblatt SBM-2388
Hallo,
was heisst für dich 8 pins mehr und "normal"?
also wenn ich bei google eingebe: arduino 8x8 matrix
dann habe ich sehr vieles tut's sowie schema und code mit dem Thema.
hier ein beispiel: https://forum.arduino.cc/t/74hc595-multiplexing-rgb-leds/605204
nur für eine farbe: jeden 2. pin anschliessen

Jeder 2 pin funktioniert nicht also ich weiß schon wie ich die anschließen muss aber welcher pin ist wo am Display
Okay probier ich mal aus. Wenns funktioniert sag ich es dir
aha! diese info fehlt in der Frage...du müsstest mal datenblatt vom "grossen" anschauen wo erstmal die eine farbe genauso wie "kleines" ansteuern kannst..dann kannst dich um die 2-farbige pins kümmern..
Ich brauch nur eine Farbe. Wegen der anderen frage bei den kleinen Displays. Ich will das tetris Spiel jetzt mit den großen bauen
ja denn schau doch mal ins datenblatt wie man nur eine farbe ansteuert..
Du wirst, um beliebige Muster darzustellen, die Reihen multiplexen wollen. Dafür sind am Display 16 pins: jeweils 8, die mit den durchverbundenen Anoden aller LEDs in einer Reihe, und 8, die mit dem durchverbundenen Kathoden aller LEDs einer Spalte verbunden sind.
Um jetzt gezielt beliebige Muster anzuzeigen, wirst du, z.B. mit Hilfe eines Programms, ständig schnell genug jeweils eine Zeile auswählen, und die dazugehörigen LEDs dieser Zeile ansteuern. Ist die Frequenz des Durchschaltens zwischen Reihen hoch genug, wird das Auge diese ständigen Wechsel aufgrund dessen Trägheit nicht mehr wahrnehmen.
Ohne solches Multiplexen wirst du nur jeweils LEDs einer Zeile oder einer Reihe gleichzeitig leuchten lassen können.
Mit noch 8 zusätzlichen Pins könnten die LEDs zweifarbig sein. Die 1388 LED-Matrix hat nur einfarbige LEDs. Wenn du das pinout nicht hast, klapper die halt durch, über einen Vorwiderstand, Strom durch LEDs auf um die 5 mA reduzierend, und für jede Kombination, die irgendetwas zum Leuchten bringt, bleibst du mit einer Probe an einem Pin, z.B. an der gemeinsamen Kathode, und mit der anderen suchst du alle anderen Pins nach weiteren LEDs ab. Pins durchnummerieren, z.B. 1..8 für Kathoden fA...fH für Farbe und Anoden, entsprechend der LED Position in der Matrix.
Multiplexen beschreibt ein Verfahren, nicht eine Komponente, auch wenn es Demultiplexer gibt. Aber alleine reichen die noch nicht, weil du damit noch weitere Logik benötigst.
Dieses Display hat rote und grüne LEDs bzw. Gelb wenn man die beiden mischt.
daher der zusätzliche Satz von 8 weiteren Pins. Ändert am Prinzip aber nichts.
Ich hab das jetzt mal ausprobiert und da funktioniert bei der einen Seite jeder 3 pin und auf der anderen jeder 1 und 2 und der 3 nicht
Aufschreiben. Wenn du alle durchhast, weisst du, welche 8 pins für rot, welche 8 für grün, und welche 8 die für rot und grün gemeinsamen Anoden oder Kathoden sind.
Was das Wort "Matrix" in "LED Matrix" bedeutet, ist dir deutlich?
Aber wenn ich weiß, wie ich welche led ansteuern kann, weiß ich immernoch nicht wie ich das über einen richtigen Sketch mache. Ich habe Tetris für ein einfarbiges display. Aber dann müsste man den Sketch umschrieben oder?
du wirst für jedes Display ein 8 byte array haben können, also ein array von 8x8 bits. In dieses Array schreibst du die gewünschte Ausgabe. Dieses array ist quasi dein Bildschirm.
Ein unabhängiger Prozess, z.B. im Hintergrund, oder interrupt-gesteuert, holt sich jetzt round robin mäßig bei jedem Durchgang das nächste byte aus dem array, aktiviert die entsprechende Zeile vom Display, und schiebt das Bitmuster, dargestellt durch das gelesene Byte, zum Display.
Damit sind "Ausgabe" vom Programm (ins Array) und "Darstellung" (auf das Display bringen davon) voneinander entkoppelt.
Da hat einer ein Datenblatt reingeschickt. Kannst du dir das bitte mal anschauen?
Ich glaub dass du derjenige bist, der sich das anschauen sollte. Weil, das wird nichts an dem von mir Geschriebenen ändern.
Lediglich da wo ich noch spekulieren muss, nämlich ob die zwei LEDs pro Pixel, also die beiden Farben, gemeinsame Anode oder gemeinsame Kathode haben, könnte daraus noch zugefügt werden - aber am Prinzip vom Multiplexen ändert das nichts.
8 Pins sind dann ja für die Spalte und 16 für die Reihe oder? 16 weil dann ja 8 für rot und 8 für grün sind. Und wenn ich beide nehme dann wird gelb oder?
So ist das. Konzeptuell identisch, halt lediglich doppelt.
Ich weiß jetzt wie ich 2 4x4 Blöcke ansteuern kann. Links oben und rechts unten. Aber die andern beiden 4x4 Ecken funktionieren nicht
Aber wie ich das in dem Wikipedia Beitrag gelesen habe hilft das nur beim datenübertragen mit einem Kabel. Aber ich versteh das nicht. Ich schau mit leiber mal ein Video an als dich zu nerven aber trotzdem vielen vielen vielen dank dafür dass du mir so schnell geantwortet hast.
die Animation vom 5x7 Matrix Display oben im Wikipedia Artikel sollte das doch verdeutlichen, wie Zeile für Zeile angesteuert wird - und das dann einfach schnell genug, dass davon nichts mehr zu sehen ist.
Ja das habe ich gerade sagen wollen da ich es gelernt habe. Aber was hat das mit der Ansteuerung zu tun?
Genau so steuerst du die an, Zeile für Zeile, schnell genug. Also keine 4x4 Blöcke oder sowas zugleich, sondern Zeile für Zeile, nacheinander.
Ja ich steuer die ja nicht auf einmal an sondern ich weiß halt welche Pins für was sind. Aber die anderen leuchten generell nicht. Das Multiplexing hilft mir ja das mit weniger Pins anzusteuern. Hab 1 Video gesehen wo das für weniger Pins genutzt wir und 1 wo der das mit dem schnellen Wechsel gezeigt hat
Ich habe verstanden was du meinst. Aber manche leuchten ja garnicht.
Zwei Möglichkeiten: Entweder nicht die richtige Kombination Anode + Kathode in der Matrix angesteuert - mit 8x8 hast du ja 64 Kombinationen. wenn jeweils nur eine Zeile und eine Spalte addressiert werden - dir ist klar, dass Anode eine höhere Spannung als Kathode benötigt? Verpolt leuchtet da nichts. Zwischen einer Anode und einer anderen Anode Spannung anlegen, da leuchtet ebenfalls nichts, genausowenig wie wenn du Kathode gegen Kathode testest.
Diese 64 Kombinationen entsprechen den 64 Pixeln.
Oder, die andere Möglichkeit: Display kaputt. Wobei ich erste als wahrscheinlicher ansehe.
Wieviel Strom schiebst du denn durch jeweils eine der LEDs, wenn du die zum Leuchten bringst?
Arduino Digital Pin output keine Ahnung und dann durch nen 230 Ohm Wiederstand
Nimm zwei Drähte von dessen 3.3 oder 5 Volt Versorgung, Plus und Masse, häng den Widerstand an das Plus-Kabel. Such dir irgendeine Kathode vom Display, also eine, wo, wenn Masse da angeschlossen ist, irgendeine LED leuchtet, wenn du mit Plus (also über Widerstand) an irgend einen anderen Pin kommst.
Lass Masse an der Kathode angeschlossen, und fahr mit Plus (über Widerstand) alle anderen Pins einzeln ab.
Dann sollten 8 pins die roten LEDs der Zeile, und 8 andere Pins die grünen LEDs der Zeile zum Leuchten bringen.
Lass dann Plus (über Widerstand) an einem Pin mit leuchtender LED dran, z.B. an rot erste Spalte.
Nimm Masse, also den anderen Draht ab, und klappere jetzt damit alle Pins ab. Damit solltest du 8 Pins finden, die jeweils eine rote LED der ersten Spalte zum Leuchten bringen.
Damit hast du alle Informationen zu den Pins: welche 8 sind grüne Anoden, welche 8 sind rote Anoden, und welche 8 sind gemeinsame Kathoden.
(unterstellend gemeinsame Kathoden der Pixel)
Mit der Information solltest du jeden beliebigen (einzelnen) Punkt vom Display zum Leuchten bringen können. Lediglich gewünschte Zeile und gewünschte Spalte müssen dann gewählt werden.
Jap das hab ich jetzt. Ich muss Anode und Kathode auf eine Seite legen damit das funktioniert. Aber ich weiß jetzt trotzdem nicht wie ich das anschließen muss damit ich wie im Sketch nur 5 Anschlüsse habe
Ich käme auf 3 benötigte bit für Wahl der Kathoden, falls du einen 3-zu-8 decoder bzw demux verwendest: mit drei bits für 8 Kombinationen, dekodiert so dass jede einer Zeile entspricht. Damit sparst du 5 Leitungen gegenüber die Kathoden vom Controller einzeln zu selektieren. Ob dir die Einsparung von 5 Leitungen es wert ist, dafür dann einen demux bzw decoder einzubauen, musst du beurteilen.
Auf die Anoden willst du aber schon Information aller 8 bits gleichzeitig legen - diese auch noch zu multiplexen um effektiv einzelne Pixel statt ganzer Zeilen anzusteuern hieße, dass der Pulsstrom der LEDs vergleichsweise hoch sein müsste für noch akzeptable Helligkeit. Das würden die aber nicht mögen.
Alternativ müsstest du dann in hardware die jeweilige Zeileninformation erst latchen müssen, bevor du die auf die Pixel der Zeile schaltest. Der Aufwand dafür stände in keinem Verhältnis zum Einsparen von einigen Drähten (10 Stück bei 2 Farben) - da macht ein µC mit ausreichend GPIO mehr Sinn.
Ich habe ja den Sketch für ein einfarbiges Matrix display mit 5 Anschlüssen bei denen 3 für die Infos zuständig sind und 2 für VCC und GND. Ich will aber dieses zweifarbige benutzen und dafür muss ich das irgendwie um bauen/Löten oder irgendwas damit es mit 5 Anschlüssen funktioniert wie das andere. Ich weiß ja aber nicht wie ich das zusammenbauen muss
https://youtu.be/-rgaPD9UTd4 Wie sieht das aus?
ein 74138 würde mehr Sinn machen, weil du hast ja nur 8 Zeilen, keine 16. Was würde dir das helfen, 4 nach 16 zu dekodieren? Bei solchen Decodern ist genau einer der Ausgänge aktiv, mit den Eingängen wählst du lediglich, welcher Ausgang. Für mehr als 8 Ausgänge hättest du doch keine Verwendung. Der 154 hat zwar noch einen seriellen Eingang, aber hilft dir das?
Ich weiß es ja nicht was ich da benutzen soll. Praktisch wäre es wenn ich das Ding da oben auf dem Bild benutzen könnte. Davon hätte ich sogar 6 Stück wovon ich 4 benutzen könnte. Also das auf dem Bild
ich würd 24 GPIOs nehmen, und mir extra dekodierende Hardware ersparen. Dafür nehm ich doch nen µC, um Hardware gegen Software zu ersetzen. Bzw 19, wenn ich 3-zu-8 dekodieren und Leitungstreiber für die gemeinsamen Kathoden kombinieren kann, weil die gemeinsamen Kathoden ungepuffert mittels GPIO Sinken würde viele µC überfordern.
Ich verstehe kein Wort aber darunter kümmer ich mich nachdem ich geschlafen hab
Beantworte mir bitte nur 1 Frage. Kann ich das schwarze Ding dafür benutzen?
Ja, zum Einsparen von 5 Verbindungen, wobei du aber die Hälfte vom schwarzen Ding verschwendest, ausser, du nimmst zwei Displays - in welchem Fall du 12 Verbindungen einsparst.
Zusätzlich würdest du pro Display noch einen entweder invertierenden oder einen nichtinvertierenden Puffer/Leitungstreiber mit 8 I/O zwischen Ausgänge vom Demux und den Displays wollen. Die allerdings auch, wenn du den 154 nicht verwendest.
Ja ich brauch auch zwei Displays. Also sollte ich die Displays über dieses schwarze Teil anschließen und dazwischen einen Puffer einbauen??? Was ist ein Puffer? Und wie muss ich das dann verlöten? Hilfe
Ströme an den Kathoden sind zu hoch für die Ausgänge vom Demux. Puffer bzw Leitungstreiber vertragen mehr.
Zum Verlöten brauchst du einen Lötkolben mit ausreichender Temperatur. Du erhitzt die Lötstelle mit der Spitze, dann hältst du Lötzinn an die Lötstelle, welches dann schmilzt und verläuft.
Ja klar wegen dem Löten. Ich meinte welchen pin wohin und was genau ist ein Puffer
ein Puffer bzw Leitungstreiber hat mehrere Eingänge, und für jeden davon einen Ausgang. An die Aingänge werden Ausgänge von anderen Komponenten angeschlossen, welche nicht hoch belastbar sind. Die Ausgänge von Puffern / Leitungstreibern sind höher belastbar. Quasi eine Art Verstärker.
Du nimmst z.B. ein Stück Silberdraht, lötest das eine Ende an einem Ausgang an, petzt den mit einem Seitenschneider passend abgelängt ab, und lötest das andere Ende an einem Eingang eines Leitungstreibers an.
Mit dessen Ausgängen verfährst du ähnlich, nur dass die mit den gemeinsamen Kathoden der LED Zeilen verbunden werden.
Vcc und GND benötigst du auch noch, aber das Prinzip des Lötens ist dafür gleich.
Kann ich dafür nicht einfach Wiederstände nehmen?
Wenn du dich dann wundern möchtest, warum die Anzeige so dunkel ist, natürlich.
Ja klar ist das dann dunkel aber ich muss erstmal schauen ob das funktioniert. Ich habe ja noch eine Platine. Und da sind die dann dunkel. ja aber wie sieht ein Puffer aus oder kannst du mir ein link schicken?
Wie sieht denn nachher der Schaltplan aus?
So wie du den gezeichnet hast, bevor du angefangen hast, deinen Entwurf zu bauen.
Gesehen dass das dein Projekt ist, bin ich nicht wirklich in der Position, dir zu erzählen, wie dein Schaltplan aussehen wird.
Achse warte ich stelle ein Bild ein. Meinst du so ein Ding
Das normale kleine 8x8 Matrix display hat 8 Pins links und 8 Pins rechts. Das große hat aber 12 da es zweifarbig ist.