LEDIANO ist eine Software, die über einen Raspberry Pi eine LED-Leiste steuert, um die Koordination von Motorik und Gehör zu fördern, indem die zu spielenden Klaviertasten durch das Aufleuchten der entsprechenden LEDs angezeigt werden. Bei diesem Projekt wurde der LED-Streifen in einem ersten Schritt mit einem Arduino über die serielle Schnittstelle (PC, Tablet, Smartphone) angesteuert und jetzt in einem zweiten Schritt komplett über einen Raspberry Pi.
Mittlerweile wurde das UI um eine Fingersatz-Vorschau ergänzt, wobei auf der LED-Leiste die “demnächst” zu spielenden Tasten mit z.B. halber Helligkeit vorab markiert werden.
Gestartet hat alles mit einem PoC
, bei dem ein Musikstück von einem PC hin zu einem Arduino über eine klassische serielle Schnittstelle übertragen wird, um dann auf dem Arduino über dessen GPIO
Pins auf der LED-Leiste abgespielt zu werden. Der PoC
hat sich zu einem Prototypen weiterentwickelt, bei dem nun ein Raperry Pi den PC nebst Arduino ablöst:
Vom PC zum Arduino auf die LED-Leiste
Um das Tastenspiel zu unterstützen, wird eine LED-Leiste über die Tasten einer Klaviatur gelegt und die LEDs werden entsprechend vorgegebenen Noten so angesteuert, dass eine leuchtende LED die zu spielende Taste angibt. So ergeben sich visuelle Hinweise, welche Taste wann zu drücken ist.
Umgesetzt wurde der anfängliche
PoC
mit einen Arduino, der den LED-Streifen ansteuert, sowie einem PC, der wiederum den Arduino über die klassische serielle Schnittstelle ansteuert.
Bei dem verwendeten LED-Streifen handelt es sich um eine Miniserie mit speziellem Layout der LEDs, das den Tasten einer Klaviatur entspricht:
- Art: Flexibles Leiterband (keine feste Platine)
- LED-Typ: WS2813 (RGB, 5V)
- Band: Schwarz, PCB
- Breite: 10mm
- Länge je Segment: 0.5m
- Schutzgrad: IP20
- Kabelanschluss: Einseitig, 15cm, LED Verbinder
Anordnung der LEDs auf der LED-Leiste
Dem Herstellungsprozess geschuldet können nur LED-Segmente der Länge 50cm gefertigt werden. Aus diesen Segmenten gilt es nun, eine LED-Leiste zusammen zusetzen, die alle Tasten über die Länge von ~ 121cm abdeckt. Die Anordnung der LEDs auf dem LED-Streifen soll also auf 50cm Segmente abgebildet werden und der Anordnung der schwarzen und weißen Tasten einer typischen Klaviatur entsprechen:
Direkt über den Raspberry Pi auf die LED-Leiste
Beim nächsten Prototypen ersetzt ein Raspberry Pi den PC nebst Arduino. In einem speziellen Gehäuse für den Raspberry Pi befindet sich ein eingebauter Touch-Bildschirm, der sich zur Interaktion mit der LED-Leiste eignet. Der LED-Streifen kann in eine Aluleiste mit 45° Winkel eingeschoben (bzw. dort mit beidseitigem Klebeband verklebt) werden, die Aluleiste wird mit einer Kunststoffabdeckung (hier in der Farbe Milchglas) geschlossen.
Eine Klaviatur aus 50cm Segmmenten
Dem Herstellungsprozess geschuldet können nur LED-Segmente der Länge 50cm gefertigt werden. Aus diesen Segmenten gilt es nun, eine LED-Leiste zusammenzusetzen, die alle Tasten über die Länge von ~ 121cm abdeckt.
Die Anordnung der LEDs auf dem LED-Streifen wird also auf 50cm Segmente abgebildet (wie in der Skizze weiter oben dargestellt) um der Anordnung der schwarzen und weißen Tasten einer typischen Klaviatur zu entsprechen. Um aus diesen LED-Segmenten einen LED-Streifen zu bekommen, der alle Tasten einer Klaviatur abdeckt, werden die LED-Segmente entsprechend hintereinander (voreinander) zusammengelötet (gestückelt). Gerade die ersten drei Tasten stellen eine Herausforderung dar, da der Anschlussstecker des ersten LED-Segments umgelötet werden muss:
Prottoyp für den Raspberry Pi
Die LED-Segmente wurden prototypisch zusammengestückelt. Bei einer zukünftigen Miniserie sollten wir bei den potentiellen Schnittstellen zwischen den LED-Segmenten (dort, wo wir ein LED-Segment auseinder schneiden müssen, um es anderweitig wieder zusammenzulöten), eigene Lötpunkte im Layout des LED-Streifens vorsehen.
Als nächstes werden die Anschlüsse der LED-Leiste auf die GPIO-Pins des Raspberry Pi neu verdrahtet. Die Ansteuerung der LEDs, was bisher der Arduino übernommen hatte, wird durch eine Implementierung für den Raspberry Pi ergänzt (die eigentliche Programmlogik zum Abspielen der Noten ist davon nicht betroffen und verwendet ggf. die alternative Implementierung zur Ansteuerung der LEDs: