Bug in der Matrix
Gute Nachricht vorneweg: Nach dem ich die letzten zwei Tage überwiegend mit Löten verbracht hab, ist sie fertig, meine RGB LED Button Matrix. Als Treiber hab ich den Maxim 7219 verwendet — oder genauer, drei davon. Ja, die Faulheit hat gesiegt. Jede Farbe wird also durch einen eigenen Chip angesteuert. Da LEDs Common Cathode sind, hängen die Digit Pins der drei 7219 jeweils zusammen an einer Reihe der Matrix. Ich hoffe, dass das kein stromtechnisches Problem ist (wenn eine RGB LED voll leuchtet, fliessen da rund 60 mA aus der Kathode). Aber wenn jede Farbe einzeln und nacheinander geschaltet wird, sollte alles gut sein. Oder?
Softwareseitig habe ich gestern eine Arduino Lib für den 7219′er entdeckt. Runtergeladen. Ausprobiert. Funktioniert. Jedenfalls wenn man die 7219 brav initialisiert, benutz, und danach wieder deaktiviert.
Wenn man das aber nicht tut, und die Treiber nicht auf dunkel schaltet, gibt’s ein lustiges Gewitter. Hoffe mal, dass es eher ein Softwareproblem ist. Eine Ursache könnte auch sein, dass ich die Data Signale via DOUT-DIN von einem Chip zum nächsten durchschleife. Es wäre denk ich einen Versuch wert, mal zu probieren, jede Farbe direkt — also über einen eigenen Data Pin am Arduino — anzusprechen.
Im Video unten sind die Kathoden/Digit/Row Pins für Grün und Blau nicht angesteckt, d.h. nur die Anoden/Segment/Column Pins sind an die 7219′er angeschlossen. Wobei aber eigentlich nur die roten LEDs getrieben werden. Wo kommt also das “Übersprechen” her?

