Copterbeleuchtung mit WS2811 RGB LED Stripe

Status
Nicht offen für weitere Antworten.
#21
Die Platine braucht man nicht wirklich, sie dient nur als Träger für den Arduino Nano und zwei Steckverbinder. Steht aber alles im Link von stars112 :). Man braucht nur den Arduino und ein UBEC und natürlich die LED-Streifen.
 
#26
oder braucht man sie dann doch wenn man einmal anfängt zu spielen ?? :D

Ganz sicher. ;)

Habe mittlerweile einige Meter verbaut. ;)

@stars: Klingt doch cool - auch wenn noch etwas ARbeit zu machen wäre, da ja hier Fast SPI zum Einsatz kommen soll/sollte/könnte. Du machst es ja mit der Adafruit Lib, oder?

Sei es drum, wenn sich die Coder zusammentun, warum nicht. Bin gespannt, was bei raus kommt.
 

stalkerface

Erfahrener Benutzer
#27
Gibt es mittlerweile mal ne Hardware?

Das liest sich, als hätte da jemand nen bestimmten Wunsch welche ledstripes verwendet werden sollen und hardware und Firmware macht irgend jemand anders.

Ohne das man vorher erstmal projektteile angibt und dafür Zuständige sucht.

Z.b. Bei dem 4fach diversity Projekt. Das ist quasi ein selbstläufer. Aber hier scheint es nicht voran zu gehen.

Versteht mich nicht falsch. Ich habe ne Beleuchtung. Nachbau der mwclight.

Gruss Markus
 
#28
Nun, die Hardware ist jedem selber überlassen. Es wurden schon mehre Möglichkeiten aufgezeigt.

Es ist eine Idee / Vorschlag - alles kann, nix muss. Es haben ja schon einige User was entwickelt - auch das kannste hier schon lesen. Nur muss man auch Zeit haben - und viele von uns arbeiten auch nebenbei - da geht schonmal Zeit ins Land.
 
#29
Eine eigene Hardware entwickeln braucht man ja nicht wirklich für so ein Projekt. Man nimmt einfach ein Arduino Nano und ein BEC wie Magomora im MK-Forum beschrieben hat, man kann statt dessen auch eine eigene Platine bauen wie stars112. Dann passt die Software von Magomora, wenn man die LPD8806 basierten LED-Streifen verwendet. Oder man nimmt die fertige Lösung mwclight RGB von Volker Bonge.

Für die WS2811 basierten LED-Streifen, die ApoC gerne verwenden möchte, müsste halt jemand die Software umstricken. Da findet sich sicher jemand, wenn genügend Bedarf besteht. Aber mal etwas provokant gefragt: Gibts trotz der bisher schon vorhandenen Lösungen genügend Motivation, extra ein neues eigenes Rad zu entwickeln? Oder nutzt man lieber das vorhandene und investiert die gesparte Zeit anderweitig?
 
#30

Huggel

Neuer Benutzer
#32
Hallo,
ich bin seit über 20 Jahren Modellflieger und seit 2 Jahren durch Hexa (Mikrokopter) infiziert und baue gerade am Big-Okto soviel mal zu mir
ich finde es gar nicht so abwähgig eine Lichtsteuerung für Kopter zu entwickeln es geht doch gar nicht alleine nur um Bunte Lichtstreifen tolle Effekte.
Diese lassen sich natürlich mit den Digial RGB LED Stripes und durch die einfache Verkabelung sehr schnell und somit mechanisch leicht realiesieren
mir schwebt jedoch vor

- Platine 50x 50 45 Lochabstand so wie die meisten Kopterplatinen
- mit Arduino System (somit kann jeder seine eigenes Programm durch " Anpassen " erstellen)
- Digital RGB LED Unterstützung (WS2811 Stripes sind schmal und hohe LED Dichte also Ideal für die tollen Bunten Effekte)
- mehrere Steuereingänge (schalten der Leistungsausgänge, Helligkeit, Effekt )
- 1-2 Schaltbare oder PWM Leistungsausgänge 2-5 Ampere (Scheinwerfer LED )
- eine einstellbare Unterspannungsüberwachung der Antriebsakkus (Anzeige durch Lichteffekt )



( ich hab bis jetzt so etwas noch nicht gefunden)

und wenn :(:( mein können über das Anpassen und Aufspielen der Software auf ein Ardu hinausgehen würde wäre auch von mir eine Beteiligung zu dahingehend erwarten

Uwe
 
#33
Nabend,

ein paar Neuigkeiten. Ich komme zwar nicht im dem Umfang zu dem Projekt wie ich das gerne hätte, aber ich habe den Code etwas aufgeräumt, strukturiert und auf GitHub veröffentlicht. D.h. ihr könnt damit rumspielen, kritisieren, diskutieren und verbessern.

Ich habe mich dazu entschieden FastSPI_LED2 zu benutzen, obwohl es noch im Beta Stadium ist. Die Gründe dafür sind unter anderem, dass Fast_SPE_LED2 wesentlich schlanker ist als der Vorgänger. Ausserdem wurde die Ansteuerung der WS2811 Strips wesentlich verbessert, sodass die Timings jetzt viel besser zu den Spezifikationen der Strips passen.

Die Anzahl der Effekte wurde vorerst auf zwei reduziert, es können jedoch sehr einfach neue hinzugefügt werden. Die beiden vorhandenen sind folgende:
1) Anzeige der im EEPROM gespeicherten Farben
2) Synchron laufende Led's auf allen Armen. Hier kann zusätzlich ein Blitzeffekt eingeschaltet werden.

Um die Möglichkeiten der Konfiguration des zweiten Effekts zu demonstrieren, habe ich noch drei weitere Test-Modi erstellt. Diese werden auch im unten verlinkten Video kurz gezeigt.

Ihr könnt in der Datei "config.h" folgende Einstellungen vornehmen:
NUM_ARMS = Anzahl der Arme eures Multikopters
LED_PER_ARM = Anzahl der Led's pro Arm
LED_PIN = Led Pin des Arduinos. Hier müsst ihr dann das Kabel anschliessen, welches zu dem DataIn des 1. Strips führt
MODE_DEFAULT = der Start Modus, welcher angezeigt wird, wenn der Arduino angeschaltet wird

Konfigurieren könnt ihr das ganze momentan nur über die Konsole, wenn der Arduino über USB angeschlossen ist. Oder ihr schliesst ein Bluetooth-Modul an RX und TX des Arduinos an und dann könnt ihr auch z.B. über ein Bluetooth-Terminal mit einem Smartphone konfigurieren. In der Konsole stehen euch folgende Befehle zur Verfügung:

Color settings
setR N : Wert für den Rot-Anteil der aktuellen Farbe, 0 <= N < 256
setG N : Wert für den Grün-Anteil der aktuellen Farbe, 0 <= N < 256
setB N : Wert für den Blau-Anteil der aktuellen Farbe, 0 <= N < 256
setArm N : Färbt den Arm N in der aktuellen Farbe, 0 <= N < NUM_ARMS
save : speichert die aktuellen Farben aller Led's im EEPROM
clear : setzt alle Farben zurück auf Schwarz (0, 0, 0)

Effect settings
setV N : Setzt einen Wert für die Helligkeit (wird im Moment nicht benutzt, kann aber in Modi benutzt werden, in denen der HSV-Farbrtaum genutzt wird, z-B. Regenbogen-Effekte), 0 <= N < 256
d N : setzt einen Wert für die Verzögerung eines Effekts, je höher desto langsamer laufen die Effekte ab, 0 < N < 10000
rev : Kehrt einige Effekte in ihrer Richtung um (wird im Moment nicht benutzt)

Mode settings
+ : Wählt den nächsten Modus aus
- : Wählt den vorherigen Modus aus
m N : Wählt den Modus N aus, 0 <= N < NUM_MODES


Vorgehen für einen ersten Testlauf:
1) Den Arduino per USB anschliessen und den Sketch hochladen.
2) Arduino und Led-Strip verkabeln, d.h. GND und 5V anschliessen und den DataIn des Led-Strips mit dem LED_PIN (s. config.h) des Arduinos verbinden und Strom einschalten. ACHTUNG !!! Wenn die Led's auf voller Helligkeit laufen (also weiß (255, 255, 255)), dann verbraucht jede Led etwa 60mA. Dann sind die 500mA, welche der USB-Stecker per Spezifikation liefert schnell verbraucht. Schliesst daher unbedingt eine externe Stromquelle an, falls ihr mehr als 8 Led's verwendet und diese auf maximaler Helligkeit habt. Ich verwende ein 5V/3A Steckernetzteil.
3) In der Arduino-IDE den Serial Monitor (Strg+Umschalt+M) starten und die Farben konfigurieren.
a) Zu Beginn sind alle Led's aus. Auch die aktuelle Farbe steht auf (0, 0, 0)
b) Setzt die Farbe auf Rot, z.B. mit "setR 200" => aktuelle Farbe = (200, 0, 0)
c) Weist den Armen die aktuelle Farbe zu, z.B. mit "setArm 0" und "setArm 1"
d) Setzt die aktuelle Farbe auf Blau, "setR 0" und "setB 200" => aktuelle Farbe = (0, 0, 200)
e) Weist den Armen die aktuelle Farbe zu, z.B. mit "setArm 2" und "setArm 3"
f) Speichert die aktuelle Farbzuweisung mit "save". Beim nächsten Starten wird die Farbzuweisung automatisch geladen
g) Schaltet jetzt durch die einzelnen Modi mit "+" oder "-". Ausserdem könnt ihr die Geschwindigkeit der Effekte z.B. mit "d 50" oder "d 200" verändern. Standardmässig steht der Delay auf 100.

Hier ein das oben erwähnte Video zu den beiden aktuellen Effekten:
http://www.youtube.com/watch?v=A_W_JVOyM1c&feature=youtu.be

Dann wünsche ich viel Spass beim ausprobieren.
Kritik, Anregungen, Diskussion und Verbesserungen sind ausdrücklich erwünscht.

MfG,
Stephan

P.S.: Jetzt hätte ich doch fast den Link zum GitHub vergessen :rolleyes:
https://github.com/DLArts/MultiCopterLightControl/

Macht aber das selbe.
Es gibt eine Platine und das umzustricken für die ws2811 sollte doch einfacher sein als alles neu zu machen.
mmmmm....
Hi, ich hatte mir dein Projekt schonmal angeguckt und ich finde es sehr gut. Ich habe mir auch erlaubt, deine Strukturierung bzgl. der gesonderten Datei für die Effekt-Sequenzen zu übernehmen. Sehr schöne Idee. Aber wie ApoC schonmal geschrieben hatte, geht es (zumindest mir) in diesem Projekt um das "selber machen". Sowohl MWCLightRGB also auch KopterLightEXT sind zu dem jetzigen Zeitpunkt mit Sicherheit die besseren Alternativen, wenn man etwas gut funktionierendes haben möchte. Mir geht es aber vor allem darum, so etwas selber zu entwickeln und es möglichst flexible zu gestalten. Jeder kann hier mitgestalten wenn er/sie möchte.
 
Erhaltene "Gefällt mir": jayson

tobold

Erfahrener Benutzer
#34
Schön zu sehen das es hier weiter geht.

Ich wollte ja eigentlich mit in das Projekt einsteigen, aber mir fehlt aktuell definitiv die Zeit dazu. Falls jemand Interesse an 2m dieser LED Streifen hat einfach per PN melden. Passendes BEC + Arduino hätte ich auch.

Grüße
Tobi
 
#35
sieht echt gut aus. Ist es denn theoretisch möglich die Richtung des Kopters als Signal zu verwenden, also Kopter fliegt nach rechts und die rechten LED´s leuchten zb.blau und beim landen zb. blinkt alles? rein theoretisch
 
#36
Hi,
theoretisch ist so einiges möglich :)

Ich habe dieses lange WE aber endlich mal wieder Zeit und habe mir vorgenommen mit dem Projekt weiter zu machen. Mein nächstes Ziel ist die Anbindung des MultiWii Serial Protocols. Ich habe bereits erste Versuche unternommen und als Test habe ich den Gyro ausgelesen. Funktionierte nach einigen Anlaufschwierigkeiten super.
Damit sollte es dann möglich sein, abhängig vom MultiWii Modus den Lichtmodus zu ändern. Oder auch den Mag auslesen (sofern vorhanden) und ggf. die entsprechenden in Flugrichtung liegenden LEDs zu ändern. Werde mich aber vorerst auf die einfachen Sachen konzentrieren, wie z.B. den Licht-Modus entsprechend Dem ARMED-Status zu ändern. Ich muss das Protokoll erstmal kennen lernen.

Langfristig werde ich mich sicher auch mal an MavLink wagen, aber immer eins nach dem anderen. Ich bin froh wenn die Anbindung des MSP funktioniert.
 
#37
Hi,

die Anbindung an eine MultiWii-FC mit MultiWii Serial Protocol funktioniert nun. Ich habe es auf einem Arduino Mega entwickelt, da dieser mehrere serielle Schnittstellen hat und so ein Debuggen per USB Serial Terminal gleichzeitig mit einer seriellen Verbindung zur MultiWii möglich war. Nach einigen Meinungsverschiedenheiten zwischen mir und dem Protokoll habe ich gemerkt, dass meine read-Funktionen nicht korrekt waren. Nachdem dieses Problem behoben war, ging der Rest sehr schnell.
Dann konnte ich den Code für den Arduino Nano anpassen und in den MultiCopterLightControl-Sketch implementieren.
Zunächst habe ich lediglich 4 Modi implementiert: MODE_UNARMED, MODE_ACRO, MODE_ANGLE und MODE_HORIZON. Weitere sind natürlich denkbar. Zusätzlich habe ich einen Effekt programmiert, welcher die Helligkeit eines Copter-Arms abhängig von der Ansteuerung des jeweiligen Motors ändert. Dies diente lediglich als Test. In Zukunft kann man sich Gedanken machen, welche Effekte sinnvoll bzw. möglich sind mit der Anbindung des MSP.

Die Veröffentlichung auf GitHub wird noch ein bisschen auf sich warten lassen, da der Code noch aufgeräumt werden muss. Heute werde ich erstmal das verhältnismäßig schöne Wetter nutzen.
Aber hier schonmal das Video zur Demonstration:

http://www.youtube.com/watch?v=bh1X7u7vTjc
 
#38
Also ich bring mich gern ein was das Platinenlayout und die AVR Programmierung angeht. Ich selbst bastrl grad eine Highpower Led Beleuchtung mit Lauflichtfunktion, sprich immer nur 1 leuchtet, das spart Strom ;-) Ich lasse oft PCBs fertign, da könnte msn was einrichten Multiplexbetrieb meinte ich ;-)
 
#39
Hi,

die Anbindung an eine MultiWii-FC mit MultiWii Serial Protocol funktioniert nun. Ich habe es auf einem Arduino Mega entwickelt, da dieser mehrere serielle Schnittstellen hat und so ein Debuggen per USB Serial Terminal gleichzeitig mit einer seriellen Verbindung zur MultiWii möglich war. Nach einigen Meinungsverschiedenheiten zwischen mir und dem Protokoll habe ich gemerkt, dass meine read-Funktionen nicht korrekt waren. Nachdem dieses Problem behoben war, ging der Rest sehr schnell.
Dann konnte ich den Code für den Arduino Nano anpassen und in den MultiCopterLightControl-Sketch implementieren.
Zunächst habe ich lediglich 4 Modi implementiert: MODE_UNARMED, MODE_ACRO, MODE_ANGLE und MODE_HORIZON. Weitere sind natürlich denkbar. Zusätzlich habe ich einen Effekt programmiert, welcher die Helligkeit eines Copter-Arms abhängig von der Ansteuerung des jeweiligen Motors ändert. Dies diente lediglich als Test. In Zukunft kann man sich Gedanken machen, welche Effekte sinnvoll bzw. möglich sind mit der Anbindung des MSP.

Die Veröffentlichung auf GitHub wird noch ein bisschen auf sich warten lassen, da der Code noch aufgeräumt werden muss. Heute werde ich erstmal das verhältnismäßig schöne Wetter nutzen.
Aber hier schonmal das Video zur Demonstration:

http://www.youtube.com/watch?v=bh1X7u7vTjc
Hammer genau sowas meinte ich ! voll geil.
 
#40
Hi,

ich habe gerade die Sourcen auf GitHub und die Readme aktualisiert. Ich bin dazu übergegangen, die Readme vorerst auf deutsch zu verfassen und ggf. später, wenn sich nur noch wenig ändert, eine englische Version zu schreiben.

Folgendes hat sich geändert:

Es wird nun sowohl das MultiWii Serial Protocol als Steuerungs-Variante als auch ein Kanal eines RC-Empfängers unterstützt. Momentan gibt es bei der RC-Empfänger Variante Modi für LOW, MID, HIGH und NO_CONNECTION und in der MSP-Variante UNARMED, ACRO, ANGLE und HORIZON. Natürlich sind insbesondere bei der MSP-Variante noch weitere Modi denkbar.

Ausserdem habe ich die Farbverwaltung auf eine Farbpalette umgestellt. D.h. es wird nicht mehr für jede LED die komplette Farbe im EEPROM gespeichert, sondern nur noch ein Index auf eine Farbe in der Farbpalette. Vorher benötigte man 24 Bit pro LED, jetzt nur noch 4 Bit. Die Farbpalette besteht aus maximal 16 Farben, welche insgesamt 48 Byte im Speicher brauchen. Somit ist es möglich 16 verschiedene Farben zu benutzten und damit verschiedene Farb-Muster (Konfigurationen) zu speichern. Die 16 Farben können natürlich vollkommen frei konfiguriert werden. Im Moment ist es möglich, 8 verschiedene LED-Konfigurationen zu speichern. Damit sind in Zukunft sicher sehr interessante Effekte möglich.

Zusätzlich zu den Speichervorteilen, bietet die Variante auch den Vorteil, dass viele Farbumrechnungen, wie z.B. Helligkeits-Faden etc. schneller gehen, da die Umrechnung in den HSV-Farbraum einmal für die 16 Farben gemacht werden muss. D.h. anstatt die Farbe von RGB in HSV umzurechnen, die Helligkeit (V) zu ändern und dann zurück von HSV nach RGB umzurechnen, spart man sich den ersten Schritt und damit etwa die Hälfte der Rechenzeit.

Falls irgendetwas unverständlich ist oder ihr Schwierigkeiten habt in der Anwendung, dann könnt ihr euch gerne hier melden. Ansonsten freue ich mich über jede Anregung, Kritik, Ergänzung etc.

MfG,
Stephan

P.S.: Hier nochmal der Link zum GitHub Repository
https://github.com/DLArts/MultiCopterLightControl/
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten