Kreatives Coding in Bonn

Gruppen-Startseite Diskussionen Agenda Dateien Mitglieder Beitreten

Charlieplexing - mit drei Leitungen sechs LEDs steuern

Wenn man ein Bild mit Lichtern ausstatten möchte, sind mehr LEDs einfach besser. Wie aber kann man mit den wenigen Pins des Calliope Mini möglichst viele Leuchtdioden steuern? Eine mögliche Lösung heisst Charieplexing, benannt nach seinem Erfinder Charlie Allen.

Hiermit sind mit n Pins n * (n − 1) LEDs einzeln steuerbar. Mit den vier Pins des Calliope Mini sind das also 4 * 3 = 12 LEDs.

Ich habe es einmal mit nur drei Pins und 3 * 2 = 6 LEDs probiert. Hier ist die Schaltung:

Jeweils zwei Dioden sind antiparallel zwischen zwei Anschlußpins des Calliope Minis geschaltet. Bei dieser Schaltung kann man auf den sonst nötigen Vorwiederstand verzichten.

Hier ist ein Testprogramm mit Microblocks:

f:16

Bei jedem Druck auf Taste A wird die Nummer des Musters (englisch Pattern) zwischen 0 und 5 um eins erhöht. Ich benutze die Nummer des Musters als Nachricht, um die einzelnen Muster in getrennten Blöcken anlegen zu können. Jeder der sechs Blöcke reagiert auf eine andere Nummer und setzt zwei der drei Pinne als Ausgang und den dritten Pin durch Lesen eines Wertes als Eingang. Nur diejenige LED zwischen den beiden Ausgängen leuchtet, deren Anode (Pluspol, der längere Draht) am Einser-Pin und deren Kathode (Minuspol) am Nuller-Pin angeschlossen ist.

Der Code:

Und hier ist ein kurzes Video der Funktion:

Eine Anwendung wäre eine Meßskala, die den Kippwinkel des Calliope Mini anzeigt. Dieser schwankt etwa zwischen -50 und 50. Durch Addieren von 50 und Teilen durch 20 landen wir also in einem Bereich zwischen 0 und 5:

Gestartet von Dr. Olav Schettler in Kreatives Coding in Bonn 2020-05-02 18:07:50