Zitat Zitat von M@tes
@SprinterSB:
Son Portexpander wäre auch eine gute Möglichkeit. Scheint aber nicht gerad billig. Muss ich noch suchen, bei meinem Elektroshop gibts den scheints nicht.
Bei deiner Uhr hast du das Matrixmässig gemacht, hab ich das richtig verstanden? Sprich: Gib Strom auf Reihe 2, Spalte 1?
Somit kann man mehrere LEDs über ein R laufen lassen.

Ihr habt mich gerad auf eine Idee gebracht...
Wäre es nicht möglich, die Dioden in einer Schleife der Reihe nach ein und abzuschalten?
Das quasi fürn Bruchteil einer Sekunde nur jeweils eine leuchtet?
Mit 16Mhz sollte es ja schnell genug sein, das die Dioden aussehen, als würden sie permanent leuchten?!
Würde das gehn?
Ja, genau so mach ich das auch. Es leuchten bis zu 9 LEDs (1 Zeile) gleichzeitig, die Zeilen werden nacheinander angesteuert, also 1,2,3,1,2,...

Das geht in dem Beispiel aber nur deshalb ohne Treiber, weil *alle* LEDs einer Zeile zusammen weniger als 20mA ziehen.

Die Lösunf mit einem ULN ist denkbar, etwas unpraktisch finde ich aber, daß man dann pro LED einen Port braucht. In einer Matrix braucht man Zeilen+Spalten Ports und hat denn Zeilen*Spalten LEDs. In dem Fall müssen die LEDs im Zeilmultiplex angesteuert werden, also zeilen- oder spaltenweise. Dadurch verliert man etwas helligkeit, aber in der Praxis aber idR kein Problem. Je nachdem, was der µC an Strom liefern/versenken lann, braucht man Anoden und/oder Kathodentreiber.

Bei zeilenweiser Ansteuerung brauch man pro Spalte einen Vorwiderstand, falls die LEDs baugleich sind. Sind die nicht baugleich, dann braucht jede LED nen individuellen Strombegrenzer.

In einer Matrix ist auch auf die Sperrspannung der LEDs zu achten; es gibt zB LEDs, die in Rückwärtsrichtung nur einige 100mV sperren. In einer Matrix braucht man dann noch Reihendioden zu diesen LEDs, weil ansonsten der Strom ungewollte Pfade läuft und dadurch LEDs leuchten, die es nicht sollten.

Also Portexpander gehen auch Schieberegister wie 74*595, die sind billiger und leichter zu bekommen, belegt weniger Ports am µC (nur 3-4), sind einfacher uns schneller anzusteuern als I²C-Portexpander und können auch low-current-LEDs treiben. Zudem können die LEDs einfach per PWM gedimmt werden.