Hallo, Koksnuss. Das mit dem Charlieplexing ist wirklich trickreich. Ich versuche es einmal zu erklären. Stelle Dir vor, Du hast einen Schalter mit 3 Positionen. Den kannst Du nun in der Mitte frei lassen, oben an 5 Volt und unten an Masse anschließen. Das nochmal und schon kannst Du damit n*n-1 =2*1=2 Leds ansteuern. Nämlich, indem Du den "linken" Schalter an 5V und den "rechten" an Masse schaltest und dazwischen eine LED hast (Widerstand lassen wir der Einfachheit halber mal weg).. Wenn dazu antiparallel (andersrum) eine LED liegt, kann man diese wiederum einschalten, wenn man links nach unten und rechts nach oben schaltet.Zitat von Koksnuss
Moderne Mikrocontroller können eben dieses Schalten. Das nennt man Tri-State, also drei Zustände. Entweder können sie mit Spannung versorgen (sourcen) oder Strom ziehen (sinken) oder eben hochohmig sein (ds ist bei Deinem "Schalter" die Mittelstellung.
Hoffentlich einigermaßen verständlich.
Wenn man das nun ausreizt, kann man relativ einfach recht viele LEDs einzeln ansteuern. Und wenn man das wiederum recht schnell macht (mehr als 25x in der Sekunde), kann man eben auch stehende Bilder erzeugen (z.B. einen Sternenhimmel, bei dem immer wieder nur ein Stern an oder ausgeht).
Matrix mit Schieberegistern denkt anders.
Man macht ein Gitter aus Leitungen, die man senkrecht und waagrecht legt. Nun kann man statt der Kreuzpunkte jeweils eine LED setzen. Um Ausgänge zu sparen, schiebt man nun sein Muster nacheinander ganz schnell in ein Schieberegister, welches dann z.B. die 8 nacheinander reingeschobenen Zustände gleichzeitig an 8 Ausgängen anbietet.
Maxim stellt div. LED-Treiber her, die 16 stufiges Dimmen und Ansteuern von recht großen Matrixen kann. Vielleicht da einfach auch mal vorbeigooglen.
HTH
Carsten
Lesezeichen