Cleanflight Setup WS2812 LED Strip für Flip32+

Für den FourOut XL habe ich mir gedacht, ein schönes Rücklicht wäre ideal. Cleanflight macht es möglich gewisse Funktionen, auf die ich weiter unten genauer eingehe, mit den WS2812 Leds zu verknüpfen. MaxWin aus der FPV Community hat mich vor längerer Zeit dazu inspiriert, aber ich hatte noch nicht das passende Projekt und Board. Wäre möchte kann im Forum weitere Details nachlesen. Im Anschluss beschreibe ich allerdings ebenfalls die wichtigsten Schritte im Detail und zum Schluss folgt ein Beispielvideo.

Was brauchen wir:

Zuerst werden Ledstreifen und FC miteinander verbunden. Dazu wird an Pin5 (input) auf dem Flip32+/Naze32 die Signalleitung von „DataIN“ angeschlossen. VCC und Masse werden über ein seperates uBEC eingespeist. Wie ich gerlernt habe, kann das uBEC direkt an das Flip32+ geklemmt oder wie in meinem Schaltplan zum WS2812 Ledstrip geführt werden. Ich persönlich finde meine Lösung besser, nur mit der Signalleitung zur FC zu gehen und VCC & Masse direkt an den WS2812 Ledstrip anzuschließen. Wichtig ist auf die korrekte Spannung zu achten. Mehr als 5,1v mögen die WS2812 nicht. Am besten ist eine Spannung knapp unter 5v, nur dann leuchten die Leds korrekt und flackern nicht. Bei mir liegen am uBEC 5,01v an und es klappt zum Glück noch. Sollte bei euch eine höhere Spannung anliegen müsst ihr eine Schottky-Diode einbauen, um die Spannung minimal zusenken. Messt mit einem Multimeter also auf jeden Fall die Eingangsspannung und passt diese gegebenenfalls an.

Laut Cleanflight werden derzeit maximal 32 Leds unterstützt!

Flip32+ GPS configuration and LEDs on Pin 5 (input)

Habt ihr den Anschluss soweit vorgenommen, verbindet ihr euren Copter mit dem Akku und USB! Achtung Props abnehmen! Anschließend Cleanflight starten und den Reiter Configuartion aufgerufen. Dort nach unten scrollen und auf der rechten Seite durch setzen des Häkchen die LED Strips aktivieren. Wichtig, nach Aktivierung ist SoftSerial nicht mehr verfügbar, weil der Pin5 jetzt für die Steuerung des Ledstreifen verwendet wird.

Nun sollten die Leds leuchten, wenn auch noch im bunten Muster. Leuchten Sie nicht, schaut ob die Verkabelung korrekt ist, der Pin5 wirklich an „DataIn“ anliegt und die Spannung wie zuvor beschrieben korrekt ist.  Es werden zur Zeit auch noch nicht alle WS2812 unterstützt, denke aber mit der Zeit werden alle unterstützt.

Im nächsten Schritt rufen wir den Reiter LED oder CLI in Cleanflight auf und konfigurieren die einzelnen LEDs. Mit dem LED-Grid komme ich noch nicht so ganz klar, daher habe ich die LEDs über CLI eingestellt. Hier kann jede Led einfach und einzeln angesprochen werden. Mit dem Befehl „save“ wird die Einstellung gespeichert und das Board neu gestartet.

Beispiel:

  • Befehl „led“ eintippen und bestätigen
  • alle Leds werden aufgeführt und können konfiguriert werden
  • Befehl „led 0 0,15:S:IA:0“ eintippen und bestätigen
  • damit wird die LED 0 auf die Koordinaten 0 und 15 (x,y) gesetzt, der darauf folgende Buchstabe S steht für die Ausrichtung nach Süden, dahinter folgt die Funktion der LED IA, was für Indicator und Arm/Disarm steht und zum Schluß folgt eine Zahl (0) für die Farbe
  • Led 0 leuchtet also bei arm/disarm und zeigt die Flugorientierung an mit der Standard Ledfarbe
  • Befehl „save“ eintippen und bestätigen (die Einstellung wird gespeichert)

Auf die selbe Art und Weise kann jede einzelne Leds konfiguriert und ausgerichtet werden. Folgende Funktionen stehen für die Leds zur Verfügung:

  • bis 32 LEDs steuerbar
  • Indicator zeigt pitch/roll stick positions
  • Heading/Orientation lights
  • Flight mode spezifische Farbschemen
  • Battery warning
  • AUX on/off Schalterfunktion

CLI Befehle für LEDs:

Grundgerüst Befehlskette = Led „Nummer“; Koordinaten; Ausrichtung; Funktion

Entsprechend der gewünschten Led wird die Lednummer angesprochen. Im Raster von 16×16 können die Leds mit Hilfe von x-y Koordinaten platziert werden. Dabei ist 0;0 oben links (Nord-West) und 15;15 unten rechts (Süd-Ost). Eine Led oben rechts wäre also mit den Koordinaten 0;15 realisierbar. Danach folgt die Ausrichtung der Led nach Nord, Süd, West, Osten, Oben oder Unten. Hier muss man einfach ein wenig experimentieren. Zu letzt folgt die Funktion, was die Led machen soll bzw. worauf sie reagiert und welche vordefinierte Farbe sie haben soll. Die nachfolgend genannten Funktionen können hier verwendet werden.

  • WWarnings
  • FFlight mode & Orientation
  • IIndicator
  • AArmed state
  • TThrust state
  • RRing thrust state
  • CColor

Auch die Kombination von mehreren Funktionen wie z.B. WIA, IA oder AT wäre möglich. Manche Funktionen überschreiben jedoch andere, es muss also auch hier ein wenig herumprobiert werden, um seine Einstellungen zu finden. Zum Beispiel Flightmodes (F) und Armed/Disarmed (A) können nicht verknüpft werden, weil beide Funktionen konstant LEDs einschalten. Also der Armed-Zustand wird ständig angezeigt, genauso wie ständig ein Flugmodi aktiv ist und angezeigt wird. Daher wird dann eine der Funktionen von der anderen komplett überschrieben.

.Ein fertiger Befehl für eine Ledkonfiguration könnte somit wie folgt aussehen:

led 0 0,15:S:IA:0

Led 0 leuchtet bei Arm/Disarm und wird immer dann kurzeitig vom Indicator überschrieben, wenn der Steuerstick der Roll- und Pitchachse bewegt wird.

Hier meine Konfiguration über CLI in Cleanflight:

Ich habe nur 6 Leds im Einsatz, wenn Ihr einen achter Streifen habt müsst ihr einfach nur zwei Leds mehr konfigurieren. Nach Led 2 und 3 muss also noch Led 4 und 5 mit selben Inhalt wie bei Led 2 und 3 eingestellt werden, bevor die letzten beiden Leds auf Linken Seite folgen.

# led
led 0 0,15:S:IA:0
led 1 0,15:S:IA:0
led 2 0,15:U:IT:0
led 3 8,15:U:IT:0
led 4 8,15:S:IA:0
led 5 8,15:S:IA:0
led 6 0,0:::0
led 7 0,0:::0
led 8 0,0:::0
led 9 0,0:::0
led 10 0,0:::0
led 11 0,0:::0
led 12 0,0:::0
led 13 0,0:::0
led 14 0,0:::0
led 15 0,0:::0
led 16 0,0:::0
led 17 0,0:::0
led 18 0,0:::0
led 19 0,0:::0
led 20 0,0:::0
led 21 0,0:::0
led 22 0,0:::0
led 23 0,0:::0
led 24 0,0:::0
led 25 0,0:::0
led 26 0,0:::0
led 27 0,0:::0
led 28 0,0:::0
led 29 0,0:::0
led 30 0,0:::0
led 31 0,0:::0
# color
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 0,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,25
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0
#

Sollte die Rollachse bei euch vertauscht sein, müsst ihr die Koordinaten ändern, also statt 0,15 müsst ihr 8,15 für Led 0 und Led 1 eintragen. Bei Led 4 und Led 5 dann natürlich genau entgegengesetzt!

Fertig schaut das Ganze bei mir jetzt so aus und gefällt mir sehr gut. Die Farben für Arm/Disarm und Indicator kann man derzeit leider nur im Sourcecode anpassen, aber nicht einfach über den Befehl „color“ im CLI einstellen. Vielleicht kommt hier bald ein Update und wir können die Farben für Blinker, Flugmodi usw. frei wählen.

Cleanflight Setup WS2812 LED Strip and Flip32+

 

weiterführende Links:

Schreibe einen Kommentar