FlightStrip - Eine Arduino Library für WS2812 RGB LED Strips

YaNnIk

Erfahrener Benutzer
#1
[size=+2]Update 5.5.15 : Die Infos und Dateien hier im ersten Post sind nicht mehr aktuell - wenn ich Zeit finde werde ich das auf Vorderman bringen, aber im Moment verweise ich einfach darauf den ganzen Thread zu lesen und die neusten Dateien zu verwenden ;)[/size]

Hallöchen zusammen,

im Moment sind die WS2812 Strips ja richtig am durchstarten.
Bereits vor einiger Zeit habe ich mich schonmal damit beschäftigt - nun habe ich es ausgebaut ;)

Eine Arduino Library namens FlightStrip, die es sehr einfach macht sich mit WS2812 LED Strips eine komplette Beleuchtung für Copter, Flieger oder was auch immer zusammenzubauen ;)

Das Projekt ist schon "relativ weit" wie ich finde, auch wenn ich noch 100 Ideen habe, was man noch besser oder einfacher machen könnte :D

Um solche Strips zu nutzen braucht man lediglich einen Arduino (Pro Mini oder Nano z.B.), den Strip und eine ausreichende 5V Stromversorgung (Ein BEC eines Reglers wird hier sehr schnell überlastet sein, da der Stromverbrauch nicht ganz ohne ist)

Wie wirds zusammengeklöppelt?
(Im Moment wird nur ein RC Anschluss an PIN 2 unterstützt..)

anschlussplan.jpg

Was kann der Strip / die Library?

Das Grundprinzip ist folgendes :
- Man kann den Strip in (das stimmt nicht ganz, aber sagen wirs mal so) beliebig viele Bereiche einteilen,
also z.B. Fläche links, Fläche rechts, Rumpf,... oder Copter vorne rechts, vorne links,.. uuuuunnndddd so weiter ;)
- Nun kenn die Library die einzelnen Bereiche und man muss ihr sagen was sie denn damit machen soll ;)
- Es stehen 20 verschiedene Modi zur Verfügung
- In jedem Modi kann jedem Bereich ein beliebiger Effekt zugeteilt werden. Aktuell stehen 16 verschiedene Effekte zur AUswahl
- Jeder Effekt kann (für jeden Bereich unabhängig) angepasst werden. So kann bei fast allen Effekten z.B. Farbe und Geschwindigkeit angepasst werden


Man kann sich also ein beliebiges Programm konfigurieren.

Ausführlich habe ich alles in der Dokumentation (siehe angehängtes PDF) beschrieben.

Folgende Effekte stehen im Moment zur Auswahl (Hier alle in ihrer Standardkonfiguration zu sehen):
http://youtu.be/1IFAdySwe4E

Und hier ist zu sehen, was ich mit den Bereichen meine:
http://youtu.be/aQzHN7YxOGM

Es fällt mir garnicht so leicht, dass alles hier kurz zu erklären und aufschlussreiche Beispiele zu geben,
daher verweise ich einfach mal auf die angehängte Library und die zwei Beispielanwendungen ;)

"FlightStripCodeV06Demo" ist das was ihr oben im Video seht.
"FlightStripSwiftCodeV03" ist eine praktische Anwendung (auch wenn hier bei jedem Strip nur ein Bereich genutzt wird) für einen Swift II.. Gibt leider im Moment kein Video vom fertigen Flieger

Schaut doch einfach mal rein ;)


Unabhängig von der Library lasse ich grade Platinen produzieren die zum einen zwei Anschlussmöglichkeiten für WS2812B Strips und zum anderen auch einen Schaltkanal für normale 12V Strips. Die Platine soll im Swift eingesetzt werden (Wir bauen das Modell im Moment im Verein in größerer Stückzahl ;D ) Alle Anschlüsse sind steckbar und damit ist es wirklich simpel das ganze aufzubauen.
Hierzu will ich dann bei gegebener Zeit mehr verraten und auch die Eagle Files hochladen. Da ich die Platinen noch nicht habe, will ich das noch nicht machen - vielleicht ist ja noch ein ganz peinlicher Fehler drin :O :p




Wie wirds weitergehn?

Frei nach dem Motto : Alles kann, nichts muss :)


Ideen von mir und anderen :

- GUI in dem man sich das Programm wirklich nur noch "zusammenklicken" muss ohne auch nur eine Arduino Zeile selber schreiben zu müssen -> Ich habe schonmal was derartiges gemacht aber mir fehlt etwas die Erfahrung sowas zufriedenstellend umzusetzten, wenn sich da also einer auskennt und Interesse hat mitzumachen, bitte melden :)

- Anbindung an diverse Telemtrie Protokolle, ala Mavlink oder sowas -> Habe ich noch gar keine Erfahrung mit

- Sammelbestellung einer Platine und "Auftragsprogrammierung" für zahlende Kunden ;D -> bei Zeiten kann man drüber nachdenken, aber ich denke erstmal Abwarten was meine aktuellen Platinen so mit sich bringen ;) Besteht überhaupt ansatzweise Interesse an sowas?




So, mein Roman hier ist vorerst abgeschlossen, jetzt seid ihr dann ;) Fragen, Rückmeldungen, Wünsche für Funktionen und alles andere - immer her damit ;) Ich gebe mir Mühe jedem zu helfen ;)
 

Anhänge

Zuletzt bearbeitet:

Terry

Erfahrener Benutzer
#4
krass... 👍 bitte unbedingt weiter machen. Das mit der Platine und einer einfachen Einstellung in einer GUI wäre cool... Abonniert!
 

YaNnIk

Erfahrener Benutzer
#5
So, der erste Prototyp einer GUI ist in Arbeit ;)

Im Moment kann man zwei Bereiche und zwei Modi einstellen.
Man kann die aktuelle Konfiguration speichern und wieder laden und man kann sich seine Eingaben zu einem lauffähigen Arduino Code compilieren lassen :)

Die Edit Button sind im Moment allerdings noch nutzlos :D Darüber sollen die Effekte später eingestellt werden können..

Vom Prinzip funktioniert es schon - nur muss ich jetzt das ganze noch für mehr Bereiche und mehr Modi erweitern :)

Hat zufällig einer ne Idee wie man das übersichtlich gestalten kann??

Wenn ich sagen wir zehn Bereiche und zwanzig Modi erlaube, wären das immerhin 200 Felder, das wird ganz schnell extreeeem unübersichtlich :(

FSCTSV0.1.PNG
 

gfunk

Erfahrener Benutzer
#6
So, der erste Prototyp einer GUI ist in Arbeit ;)

Im Moment kann man zwei Bereiche und zwei Modi einstellen.
Man kann die aktuelle Konfiguration speichern und wieder laden und man kann sich seine Eingaben zu einem lauffähigen Arduino Code compilieren lassen :)

Die Edit Button sind im Moment allerdings noch nutzlos :D Darüber sollen die Effekte später eingestellt werden können..

Vom Prinzip funktioniert es schon - nur muss ich jetzt das ganze noch für mehr Bereiche und mehr Modi erweitern :)

Hat zufällig einer ne Idee wie man das übersichtlich gestalten kann??

Wenn ich sagen wir zehn Bereiche und zwanzig Modi erlaube, wären das immerhin 200 Felder, das wird ganz schnell extreeeem unübersichtlich :(

Anhang anzeigen 120626
Proggst du in C#?!
Mach gleich eine WPF Application und keine Forms.

Kannst du nicht einfach pro Zeile einen Bereich machen

Bereich1 -- StartLed -- EndLed -- Modus1 -- Modus2


Das mit den Modi hab ich noch nicht ganz verstanden, gibt es dann je Bereich 20 Dropdowns für die Modis?
Laufen die dann nacheinander ab?
Anstatt der Dropdowns könnte man auch eine Textbox verwenden in der man die Modis Komma separiert eingibt:
so zB: 1,4,7,9,6,4,3,3,3
 

YaNnIk

Erfahrener Benutzer
#7
Ja, ist C#.

Bin da leider ein absoluter Newbie im Thema Gui bzw. C# allgemein :D Worin unterschied sich die WPF von Forms und was ist daran besser? Wenn ich das mal so platt fragen darf :D

Die Modi laufen entweder nacheinander oder zufällig ab, je nachdem was man will.

Das mit der Zeile wird halt schwierig, weil wie du selbst erkannt hast müssten dann 20 Dropdowns nebeneinander, das wird eng ;D

In den Modi wählt man halt die Effekte nach Namen aus (find ich detlich benutzerfreundlicher als ne Zahl), daher wäre auch die textbox extrem lang..

Das ganze soll halt simpel sein, denn wenn man ein gewisses "Können" vorraussetzt kann man sich das File auch selber in Arduino schreiben..

Im Prinzip habe ich einfach eine Vorlage im Programm hinterlegt, in der die Eingaben eingefügt werden.. Gibt sicher schönere Varianten, aber dafür kenne ich mich in C# zu wenig aus..

Evtl reduziere ich auch af 10 Modi.. Wer mehr will muss halt selber in Arduino coden :D Oder ich arbeite mit Reitern, ich weiß noch nicht ;D
 

gfunk

Erfahrener Benutzer
#9
WPF ist aktueller, kann alles was Forms kann und mehr.

Also ich würde das in etwa so angehen:

Anhang anzeigen 120729

- zuerst müsste man über eine über eine Dropdown die Anzahl der Abschnitte auswählen.
- die Beschriftung der Achse des Sliders ändert sich dann von 1 bis {gewählte Anzahl der Abschnitte}
- dann die Anzahl der LEDs
- jetzt die Start-/End-LED der einzelnen Bereiche definieren (sobald bei einem Bereich bis LED 5 ausgewählt wurde sollte bei dem nächsten Bereich die Auswahl erst bei Led 6 beginnen)
- mit den Slider wählt man dann den Abschnitt (wird in der Textbox daneben angezeigt)

So könnte man hohe anzahl an Bereichen und Abschnitten relativ leicht konfigurieren.
 

YaNnIk

Erfahrener Benutzer
#10
Die Idee ist garnicht mal schlecht ;)

Werde ich mal schauen etwas in der Richtung umzusetzten :)

Könntest du mir deine Vorlage mal schicken? (Schreib mir dann ne PN, dann geb ich dir die Mail-Adresse)
Ich würde dich dann natürlich auch als mitwirkend ins Projekt eintragen ;)
 

gfunk

Erfahrener Benutzer
#11
Ich hatte das eigentlich nur schnell zusammen geschoben um meine Erklärung optisch zu untermalen.
Die XAML muss also auch noch überarbeitet werden. ;)

Wenn du noch Fragen hast kannst du dich gern melden.
 

YaNnIk

Erfahrener Benutzer
#13
So sieht es jetzt aus

FSCTSV0.1WPF.PNG

Ich denke das ist optisch für meine Anforderungen ausreichend :D

Gibt es in WPF eigentlich kein NumericUpDown oder sowas? Oder NumberBox?
Ich habe jetzt normale TextBoxen genommen, das geht natürlich, aber NumericUpDown würde mir besser gefallen..
 

Phil_Ho

Neuer Benutzer
#15
Top! :cool:

Genau das wollte ich auch gerade anfangen zu basteln.

Arduino nano und alles andere ist vorhanden.

Ist denn die GUI schon in der Beta-Version bei dir erhältlich?

Grüße
 

YaNnIk

Erfahrener Benutzer
#16
Jo in der Beta ist es da ;)

Nur das Erklärungsvideo ist im Moment noch auf eines spezielles Projekt für mein Verein angepasst, aber ich denke die wichtigsten Sachen sind erklärt ;)

https://www.youtube.com/watch?v=LxLalV34ZoE

Und das benötigte Programm ist nun angehängt ;)


Aber Achtung! Alles noch ziemlich BETA!

Die erzeugten Files sind übrigens auf die von mir erstellte Platine angepasst, die so aussehen :

2015-03-30 18.47.24.jpg
2015-03-30 18.47.52.jpg

Und hier die Massenproduktion fürn verein :D

2015-04-01 15.31.33.jpg

Per RC wird dort in 3 Stufen geschaltet.
1. Aus
2. Nur Schaltkanal für normale LED Strips an
3. normale LED Strips + WS2812 Strips


Aber schaut einfach mal rein ;)
 

Anhänge

Zuletzt bearbeitet:
Erhaltene "Gefällt mir": Kaldi

Kaischu

Erfahrener Benutzer
#19
Sehr interessantes Projekt, um mir zu Ostern nicht noch ein Ei ins Nest zu legen, die LED gibt es ja auch in zwei Ausführungen, einmal die WS2812 und WS2812B. Funktioniert es mit beiden oder nur mit den WS2812, ist ja auch ne Frage des Preises?
Happy Holiday
 
RCLogger

FPV1

Banggood

Banggood

Oben