Copterbeleuchtung mit WS2811 RGB LED Stripe

Status
Nicht offen für weitere Antworten.

der_tom

Erfahrener Benutzer
#41
Hallo,

ich wollte heute die LED steuerung mal testen. (Fliegen ist ja nicht bei dem sau wetter)
mus ich bei steuerung per rc noch was anpassen?

rc input pin10
nur da tut sich nix wenn rc im sketch rausnehme gehts,

ich verwende eine dx18 und ein ar500 auf ch6
signal vom empfänger ist da habe ich mit einem servo getestet

gruss Tom
 

BlackMizi

Display Manager
#42
Moin Chris,

Aktuell kann ich ein 4m Stripe Modul (60 LED pro Meter) für 73€ pro Rolle zzgl. 2,50€ Versandkosten bekommen. Aus Deutschland und mit Garantie. Mehr als 15% Rabatt waren bisher nicht drin. Ich bin aber dran, noch günstigere Preise für euch rauszuholen.
Gilt das Angebt noch oder hast Du, wie angedeutet, vielleicht etwas günstigeres gefunden?

Gruß und Dank
Kai
 
#43
Hallo,

ich wollte heute die LED steuerung mal testen. (Fliegen ist ja nicht bei dem sau wetter)
mus ich bei steuerung per rc noch was anpassen?

rc input pin10
nur da tut sich nix wenn rc im sketch rausnehme gehts,

ich verwende eine dx18 und ein ar500 auf ch6
signal vom empfänger ist da habe ich mit einem servo getestet

gruss Tom
Hi,

wichtig ist, dass sowohl der Signal-Pin vom Empfänger angeschlossen wird (siehe RC_PIN_1 in der Datei config.h, standardmässig D10) , als auch der Ground vom Empfänger an Ground vom Arduino. Dann musst du "#define INPUT_TERMINAL" und "#define INPUT_MSP" deaktivieren (auskommentieren) und "#define INPUT_RC" aktivieren.

Die Priorität bei den möglichen Input-Varianten entspricht der Reihenfolge in der config.h Datei. D.h. falls INPUT_TERMINAL aktiviert ist, ist es egal ob noch etwas anderes aktiviert ist, es ist immer NUR die Steuerung über das Terminal aktiviert. Falls INPUT_RC aktiviert ist und INPUT_TERMINAL deaktiviert ist, ist immer INPUT_RC aktiv, egal ob INPUT_MSP aktiviert ist oder nicht.

Das ist nur aus Sicherheitsgründen so, da ansonsten das Ergebnis recht unvorhersehbar wäre. Ausserdem benutzen einige Steuerungs-Varianten die serielle Schnittstelle des Arduinos auf unterschiedliche Art und Weise, sodass auch hier Probleme entstehen könnten.

Kurze Zusammenfassung:
Immer nur eine der Steuerungs-Varianten (INPUT_*) aktivieren, alle anderen deaktivieren, dann gibt es keine Probleme und keine Verwirrung.

Ich hoffe das hilft dir ein wenig weiter.
 

der_tom

Erfahrener Benutzer
#44
@dlarts

Hallo

Das habe ich eigendlich alles befolgt aber denoch ändert sich nix wenn ich den ch schalte.

Es bleiben auch nach dem hochladen des sketch alle led aus.

Wenn ich terminal wieder aktiviere leuchten immer drei leds abwechselt blau und rot
 
#45
@dlarts

Hallo

Das habe ich eigendlich alles befolgt aber denoch ändert sich nix wenn ich den ch schalte.

Es bleiben auch nach dem hochladen des sketch alle led aus.

Wenn ich terminal wieder aktiviere leuchten immer drei leds abwechselt blau und rot
Guck mal in der Erklärung im GitHub unter Konfiguration
https://github.com/DLArts/MultiCopterLightControl/#konfiguration

Du musst erst die Farben der LEDs konfigurieren. Dazu stellst du Farben einmal per Terminal ein und speicherst sie dann im EEPROM. Das ist soweit alles erklärt im Abschnitt "Konfiguration". Dort wird die Erst-Konfiguration auch genauer beschrieben.

Am Besten vorher einmal das EEPROM löschen. Dann erstellst du dir eine Farbpalette von maximal 16 Farben. Ich habe mir z.B. zunächst die 3 Grundfarben angelegt, also (r=200, g=0, b=0), (r=0, g=200, b=0) und (r=0, g=0, b=0) und habe diese als Farbe 0, 1 und 2 gespeichert. Und diese Farben kannst du dann den einzelnen LEDs oder auch ganzen Armen zuweisen. nicht vergessen, dass ganze im EEPROM zu speichern, damit die Konfiguration beim nächsten Starten auch noch da ist.

Dieser Effekt mit den blau/roten LEDs ist ein Effekt, der keine voher gespeicherten Farben benutzt, die meisten benutzen jedoch die gespeicherten Farben.
 

der_tom

Erfahrener Benutzer
#46
@dlarts

so das habe ich jetzt mal gemacht, wie kann ich jetzt testen ob das ganze auch geht, bis jetzt sind alle leds aus...

gruss
 
#47
Wenn du die Konfiguration im Terminal vornimmst, sollten die LEDs schon in den von dir eingestellten Farben leuchten.

Hier mal ein Beispiel:

Sobald in der Konsole "*** SETUP COMPLETE ***" steht, kannst du die Befehle eingeben. Falls du das "*** SETUP COMPLETE ***" nicht lesen kannst, hast du wahrscheinlich die falsche Baudrate eingestellt. Man muss 115200 einstellen.
1) "setR 200" um den Rotwert der aktuellen Farbe auf 200 zu setzen
2) "setColor 0" um die aktuelle Farbe (Rot) auf dem Paletten-Platz 0 zu speichern
3) "setR 0", "setG 200" um die aktuelle Farbe auf Grün zu setzen
4) "setColor 1" um die aktuelle Farbe (Grün) auf dem Paletten-Platz 1 zu speichern
5) "setG 0", "setB 200" um die aktuelle Farbe auf Blau zu setzen
6) "setColor 2" um die aktuelle Farbe (Blau) auf dem Paletten-Platz 2 zu speichern
7) "saveColors" => Damit ist die Farbpalette im Speicher abgelegt
8) Jetzt kannst du anfangen den LEDs diese Farben zuzuweisen
9) "getColor 0" um Paletten-Platz 0 zu laden, also Rot
10) "setArm 0" damit der komplette Arm 0 rot leuchtet, das gleiche für Arm 1 mit "setArm 1"
11) "getColor 1" um Paletten-Platz 1 zu laden, also Grün
12) "setArm 2" damit der komplette Arm 2 grün leuchtet, das gleiche für Arm 3 mit "setArm 3"
13) "saveLeds" um die Konfiguration zu speichern
14) Damit sollten z.B. bei einem Quadrocopter die 4 Arme in rot bzw. grün leuchten. Dies sollte auch nach dem aus- und wieder einschalten noch so sein.

Im Terminal-Modus ist der Standard-Modus MODE_0, dort werden die Farben der Konfiguration 0 angezeigt, die man mit der gerade geposteten Prozedur auf rot und grün gesetzt hat. Dieser Modus entspricht der LOW Position im RC-Modus. D.h. wenn der Empfänger angeschlossen ist und der Schalter auf LOW steht (d.h. der Augang liefert einen Wert zwischen 651 und 1349) dann sollten die zuvor gespeicherten Farben angezeigt werden.

Ich werde wahrscheinlich die Tage mal ein Video von der Konfiguration machen, sodass es etwas verständlicher wird. Aber die Farben müssen erst einmal im Terminal Modus richtig gespeichert sein. Um das zu Testen, kannst du den Arduino und die LEDs einfach vom Strom trennen und neu anschliessen. Dann sollten die von dir eingestellten Farben wieder leuchten. Erst dann kannst du zu dem nächsten Schritt übergehen und die Steuerung über einen Empfänger testen.
 
Zuletzt bearbeitet:

der_tom

Erfahrener Benutzer
#48
Ok ich teste das jetzt noch mal, zum eingeben der werte mus ich im sketch erst

#define INPUT_TERMINAL
//#define INPUT_RC
setzten oder? den *** SETUP COMPLETE *** zeigt er erst dann an.

nach dem einstellen der werte einfach wieder auf
//#define INPUT_TERMINAL
#define INPUT_RC
stellen und wieder rüberladen oder???

gruss



Wenn du die Konfiguration im Terminal vornimmst, sollten die LEDs schon in den von dir eingestellten Farben leuchten.

Hier mal ein Beispiel:

Sobald in der Konsole "*** SETUP COMPLETE ***" steht, kannst du die Befehle eingeben. Falls du das "*** SETUP COMPLETE ***" nicht lesen kannst, hast du wahrscheinlich die falsche Baudrate eingestellt. Man muss 115200 einstellen.
1) "setR 200" um den Rotwert der aktuellen Farbe auf 200 zu setzen
2) "setColor 0" um die aktuelle Farbe (Rot) auf dem Paletten-Platz 0 zu speichern
3) "setR 0", "setG 200" um die aktuelle Farbe auf Grün zu setzen
4) "setColor 1" um die aktuelle Farbe (Grün) auf dem Paletten-Platz 1 zu speichern
5) "setG 0", "setB 200" um die aktuelle Farbe auf Blau zu setzen
6) "setColor 2" um die aktuelle Farbe (Blau) auf dem Paletten-Platz 2 zu speichern
7) "saveColors" => Damit ist die Farbpalette im Speicher abgelegt
8) Jetzt kannst du anfangen den LEDs diese Farben zuzuweisen
9) "getColor 0" um Paletten-Platz 0 zu laden, also Rot
10) "setArm 0" damit der komplette Arm 0 rot leuchtet, das gleiche für Arm 1 mit "setArm 1"
11) "getColor 1" um Paletten-Platz 1 zu laden, also Grün
12) "setArm 2" damit der komplette Arm 2 grün leuchtet, das gleiche für Arm 3 mit "setArm 3"
13) "saveLeds" um die Konfiguration zu speichern
14) Damit sollten z.B. bei einem Quadrocopter die 4 Arme in rot bzw. grün leuchten. Dies sollte auch nach dem aus- und wieder einschalten noch so sein.

Im Terminal-Modus ist der Standard-Modus MODE_0, dort werden die Farben der Konfiguration 0 angezeigt, die man mit der gerade geposteten Prozedur auf rot und grün gesetzt hat. Dieser Modus entspricht der LOW Position im RC-Modus. D.h. wenn der Empfänger angeschlossen ist und der Schalter auf LOW steht (d.h. der Augang liefert einen Wert zwischen 651 und 1349) dann sollten die zuvor gespeicherten Farben angezeigt werden.

Ich werde wahrscheinlich die Tage mal ein Video von der Konfiguration machen, sodass es etwas verständlicher wird. Aber die Farben müssen erst einmal im Terminal Modus richtig gespeichert sein. Um das zu Testen, kannst du den Arduino und die LEDs einfach vom Strom trennen und neu anschliessen. Dann sollten die von dir eingestellten Farben wieder leuchten. Erst dann kannst du zu dem nächsten Schritt übergehen und die Steuerung über einen Empfänger testen.
 
#49
Genau.

Ganz wichtig sind natürlich auch die richtigen Werte bei LEDS_PER_ARM und NUM_ARMS.
Ich hatte 4 Arme und je 6 LEDs pro Arm. Diese Werte sind auch standardmässig in der config.h eingestellt. Wenn das bei dir andere Werte sind, dann musst du die natürlich entsprechend einstellen.
 

der_tom

Erfahrener Benutzer
#50
Ok das hat geklappt, ich weis zwar nicht so richtig was ich falsch gemacht habe, aber egal jetzt habe ich schon mal ein erfolg,

Danke

Gibt es sonnst noch irgendwo eine genauer beschreibung dazu, wie kann ich diese jetzt noch blinken lassen???

Ok ich teste das jetzt noch mal, zum eingeben der werte mus ich im sketch erst

#define INPUT_TERMINAL
//#define INPUT_RC
setzten oder? den *** SETUP COMPLETE *** zeigt er erst dann an.

nach dem einstellen der werte einfach wieder auf
//#define INPUT_TERMINAL
#define INPUT_RC
stellen und wieder rüberladen oder???

gruss
 
#51
Im Terminal-Modus kannst du z.B. mit "m+" bzw. "m-" durch die verschiednen Modi wechseln. Wenn du einen Modus ändern möchtest, musst du dass in der Datei "MultiCopterLightControl.ino" machen. Dort gibt es eine loop()-Methode und in dieser sind die Abschnitte "case MODE_0", "case MODE_1" etc.. In diesen Abschnitten wird dann jeweils ein bestimmter Effekt aufgerufen.

Welche Effekte es gibt und was du dort einstellen kannst/musst, kannst du am Besten wieder der Beschreibung im gitHub entnehmen. Oder einfach ein wenig mit den Beispielen im Quellcode rumspielen.

Die Zuordnung der Modi findest du übrigens auch in der Datei config.h. Im Terminal-Modus ist es einfach der Reihenfolge nach, d.h. du startest im Modus MODE_0, mit "m+" kommt du in Modus MODE_1 und so weiter. Im RC-Modus wird bei LOW MODE_0 angezeigt, bei MID MODE_1, bei HIGH MODE_2 und bei Verbindungsabbruch MODE_3. Abder diese Zuordnung könnte auch in der config.h geändert werden.
 

der_tom

Erfahrener Benutzer
#52
Noch eine Frage,

wie werde den Die LEDS gezählt sind die durchgehend nummeriert, 0>> 23 vobei 0-5 arm 0, 6-11 arm1 usw..
oder sind die 0-5 arm0 und 0-5 arm1 usw..?
 
#53
Also zunächst sind die LEDs einfach hintereinander so wie sie auch im Strip sind. Sprich die erste LED hat den Index 0, die zweite den Index 1 usw., also genau so wie du vermutet hast.
D.h. wenn du "setLed" benutzt, musst du diesen Index verwenden. Wenn du "setArm" benutzt, musst du den Arm-Index benutzen, dann rechnet die Methode automatisch aus, welche LEDs alle auf dem jeweiligen Arm liegen. Das funktioniert natürlich nur, wenn die Werte bei NUM_ARMS und LEDS_PER_ARM richtig sind.
 

der_tom

Erfahrener Benutzer
#54
Cool dank dir für die Infos, jetzt habe ich etwas grundwissen zum basteln.

Gruss Tom
 
#55
Wenn du irgendwo Probleme hast, meld dich einfach. Dadurch bekomme ich mit, wo die Benutzung noch zu kompliziert ist und kann die Dokumentation anpassen.
 
#56
Mal eine Frage von mir :)

Ich habe bis jetzt immer nur Entwickelt, habe die RGB-Strips aber bisher noch nicht an einen Copter montiert. Ich habe mir gedacht, dass eine Montage wohl sehr einfach mit einem Stromverteiler funktionieren würde. Ich benutze bereits einen Stromverteiler für meine ESCs mit einem 3S bzw. 4S LiPo. D.h. ich würde dann einfach einen 5V BEC an den Stromverteiler anschliessen und die Ausgänge des BEC an einen weiteren Stromverteiler anschliessen. So hätte ich einen Stromverteiler für 3S bzw. 4S LiPo und einen mit 5V.
Dabei kam mir die Idee, ob es nicht auch Stromverteiler-Board mit integrietem 5V BEC gibt. D.h. man schliesst nur noch einen 3S oder 4S LiPo an und es gibt Ausgänge sowohl für die volle Spannung, welche dann zu den ESCs gehen, als auch für 5V, welche dann für LED-Strips oder auch Servos, FCs etc. genutzt werden können.

Weis zufällig jemand ob es sowas gibt und wenn ja wo?
Ansonsten wäre das doch eine super Idee für ein weiteres Projekt :D
 

der_tom

Erfahrener Benutzer
#57
Keine schlechte idee nur ich fliege den tbs mit naza und habe da kaum moglichkeiten noch eine Platine unter zu bringen.

Ich hatte eigendlich vor die led einfach an meine regler zu hängen, denn ich habe beim naza ein extra bec und die 5v kabel der regler einfach isoliert.

Diese will ich jetzt für die leds nutzen.
 

der_tom

Erfahrener Benutzer
#58
Hallo,

irgendwas klappt bei mir nicht, hier mal mein test...

*** SETUP COMPLETE ***
current RGB color = (0, 0, 0) //clearEeprom
current RGB color = (255, 0, 0) //rot gesetzt
Set color 0 to current color. //speichern auf 0
current RGB color = (0, 255, 0) // grun gesetzt
Set color 1 to current color. // auf 1 gespeichert
current RGB color = (0, 0, 255) // Blau gesetzt
Set color 2 to current color. // auf 2 gespeichert
current RGB color = (255, 255, 255) // weis gesetzt
Set color 3 to current color. // auf 3 gespeichert
Colors saved to EEPROM. // alles speichern
current RGB color = (255, 255, 255) //setcolor 3 aufrufen
new mode = 0
Updated arm 0 // weis auf mode 0 alle vier arme
Updated arm 1
Updated arm 2
Updated arm 3
new mode = 1 //mode1
current RGB color = (255, 0, 0) // rot aufrufen
Updated arm 0 // rot auf arm 0 und 1
Updated arm 1
current RGB color = (0, 255, 0) // grun aufrufen
Updated arm 2 // grun auf arm 2 und 3
Updated arm 3
new mode = 2 // mode 2
current RGB color = (0, 0, 255) // blau aufrufen
Updated arm 0 // alle arme Blau
Updated arm 1
Updated arm 2
Updated arm 3
Led colors saved to EEPROM. // Speichern
und das kommt raus
http://youtu.be/G2fwFNuB5Ms

am sketch ist derzeit alles so belassen und eingestellt sind vier arme mit je 6 Leds
 
#59
Ich glaube du hast config und mode verwechselt.
mit m+ bzw. m- wechselst du in den nächsten bzw. vorherigen Beleuchtungsmodus.
Mit setConfig kannst du eine andere LED-Konfiguration wählen, also eine andere Farbzusammenstellung.
Bei dir ist alles blau, weil du als letztes alle Arme auf blau setzt.

Ich schreibe dir heute Abend nochmal. Habe jetzt gerade leider wenig Zeit.
 
#60
So,
versuche mal bitte folgendes.

  1. Sketch mit aktiviertem INPUT_TERMINAL hochladen
  2. Serial Monitor starten und auf "** SETUP COMPLETE ***" warten
  3. "clearEeprom" + ENTER im Terminal eingeben und Arduino neu starten. Entweder vom USB trennen und wieder anstecken, Reset-Button drücken oder Serial Monitor schliessen und wieder öffnen
  4. Nun müssten alle LEDs weiß aufleuchten
  5. "getColor 0", nun sollte die Farbe (255, 255, 255) geladen werden
  6. mit "setR 0", "setG 0" und "setB 0" die Farbe auf (0, 0, 0) setzen
  7. mit "setColor 0" die 1. Farbe auf (0, 0, 0) setzen. Nun sollten alle LEDs aus gehen
  8. Farbe (200, 0, 0) einstellen => "setR 200", "setG 0" und "setB 0"
  9. Farbe auf Position 2 speicher "setColor 1"
  10. Farbe (0, 200, 0) einstellen => "setR 0", "setG 200" und "setB 0" und mit "setColor 2" auf Position 3 speichern
  11. Farbe (0, 0, 200) einstellen => "setR 0", "setG 0" und "setB 200" und mit "setColor 3" auf Position 4 speichern
  12. Nun die Farbpalette mit "saveColors" im EEPROM speichern
  13. Nun die Konfiguration wählen, welche konfiguriert werden soll, also z.B. "setConfig 0"
  14. Nun dieser Konfiguration Farben zuordnen
  15. "getColor 1" wählt Rot aus
  16. "setArm 0" und "setArm 1" ordnet den Armen 1 und 2 diese Farben zu, welche auch sofort rot aufleuchten sollten
  17. "getColor 2" wählt Grün aus
  18. "setArm 2" und "setArm 3" ordnet den Armen 3 und 4 diese Farben zu, welche auch sofort grün aufleuchten sollten
  19. Nun die Konfiguration(en) speichern mit "saveLeds"
  20. Den Arduino neu starten und die Farben sollten erhalten bleiben
  21. Mit "m+" in den nächsten Modus schalten und der erste Effekt sollte mit deinen gesetzten Farben starten
  22. Nun könnte man auch eine weitere Konfiguration erstellen
  23. Dazu mit "setConfig 1" die zweite Konfiguration wählen und analog zu den Schritten 14-19 der Konfiguration Farben zuordnen und speichern
  24. Dann kann in den verschiedenen Modi mit "setConfig 0" oder "setConfig 1" zwischen den beiden Konfigurationen umgeschaltet werden, auch mitten in einer Animation
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten