Copterbeleuchtung mit WS2811 RGB LED Stripe

Status
Nicht offen für weitere Antworten.

jvi

Neuer Benutzer
#81
Ein Problem gefunden

Die Anzahl der Bytes im GUI-Protokoll wird als Byte übertragen und ist damit auf 256 beschränkt, das stösst bei 60 LEDs an Grenzen, ich habe mal Quick&Dirty die übertragene Grösse auf 16-bit geändert und schon läuft es viel besser mit der GUI.

Johannes
 
#82
Mit so vielen LEDs hab ich die Steuerung noch nicht getestet.

Aber schön dass du schon eine Lösung gefunden hast.
Ich werde mir den Code auch die Tage nochmal angucken, so wie ich Zeit dafür finde.

Ich habe aber noch dunkel im Hinterkopf, dass ich irgendein seriellens Kommando aufspalten wollte. Denn eigentlich sollten die 256 Byte vollkommen ausreichen. Damit kann man theoretisch 512 LEDs übertragen, da die Farben in einer 16er Farbpalette gespeichert werden und so nur 4 Bit pro LED benötigt werden.

Ich glaube mich jedoch zu erinnern, dass alle Konfigurationen auf einmal übertragen werden. Da per default 8 Konfigurationen eingestellt sind, bleiben dann für eine Konfiguration nur 64 LEDs, also 16 pro Arm bei einem Quadrocopter. Wenn ich die Konfigurationen einzeln übertragen würde, dann wäre das ganze wieder kein Problem. Und ich muss mal zusehen, dass die max. Anzahl von Konfigurationen abhängig von der LED-Anzahl und dem verfügbaren Speicher ist.
 
Zuletzt bearbeitet:

scritch

Erfahrener Benutzer
#83
Hallo. Wäre mit solchen RGB-Streifen auch folgendes möglich:Ich packe einige Streifen untereinander, meinetwegen im Abstand von 3cm. Wenn ich so nun eine Fläche entstehen lasse die 10x10 LED's als Fläche hat, könnte ich dann die LED's so ansteuern, dass auch Buchstaben oder Bilder entstehen können?
 

meister

Erfahrener Benutzer
#84
Hallo. Wäre mit solchen RGB-Streifen auch folgendes möglich:Ich packe einige Streifen untereinander, meinetwegen im Abstand von 3cm. Wenn ich so nun eine Fläche entstehen lasse die 10x10 LED's als Fläche hat, könnte ich dann die LED's so ansteuern, dass auch Buchstaben oder Bilder entstehen können?

Schau mal auf Youtube, es gibt leute die bauen Video-Screens daraus :)
 
#85
Das ist auf jeden Fall machbar, habe ich testweise auch schonmal gemacht. Nur sollte man bei RGB-LEDs den Strom nicht unterschätzen. Bei 10x10 = 100 LED mit je maximal 60mA sind das schon maximal 6A bei 5V, d.h. man braucht ein entsprechendes Netzteil. Der Wert wird aber nur bei maximaler Helligkeit und der Farbe weiß erreicht.

Hier mal ein Link zu einem sehr coolen Projekt mit WS2801. Der Treiber ist dem WS2811 sehr ähnlich, hat nur noch einen zusätzlichen Clock-Eingang. Das Projekt ist aber auch ohne weiteres mit den WS2811/WS2812 möglich.
http://www.instructables.com/id/PixelBrite/
 
Zuletzt bearbeitet:

Mike-78

Erfahrener Benutzer
#86
Hi besteht die Möglichkeit das ganze auch auf den neuen Adafruit Gemma (http://www.adafruit.com/products/1222) und / oder Flora (http://www.adafruit.com/products/659) zu portieren um dann die WS2812 Streifen wie diese (http://www.adafruit.com/products/1426) hier zu verwenden?
Vorteil beim Gemma ist der Preis ~ 10 Euro und er kann bis zu 16V direkt vertragen.

Grüße

Michael

P.S. habe beides hier liegen und bastel gerade mit den Adafruit Samples rum wie sowas hier (http://learn.adafruit.com/superhero-power-plant)
 
#87
Ich kenne mich leider nicht mit Adafruit aus und auch die beiden Produkte kenne ich nicht. Die Bibliothek die ich verwende ist fastSPI-LED2 und ist für Arduino. Einen Arduino Nano v3 bekommt man über eBay für etwa 10€ aus Fernost. Damit habe ich bisher maximal 120 LEDs angesteuert als Test für einen 2m Strip.

Für Projekte mit wesentlich mehr LEDs und hoher Bildfrequenz würde ich einen Teensy 3.0 und die Bibliothek OctoWS2811 empfehlen. Habe ich aber noch nicht getestet.
 
#89
Das hängt ganz von der verwendeten Hardware und deinen Anforderungen bzgl. Bildfrequenz ab. Mit 120 LEDs kommt man etwa auf 240Hz. Mit 240 LEDs würde man auf 120 Hz kommen. Allerdings muss man die ganzen Farbwerte für die LEDs im RAM halten, also 3 Byte pro LED. Das kann über 120 LEDs je nach Hardware und verwendeter Bibliotheken schon mal eng werden. Mit einem Teensy 3.0 ist man auf der sicheren Seite. Da sind locker 1000 LEDs bei 240Hz. drin. Dazu werden 8 Strips parallel angesteuert.
 
#91
MPNG ist der ArduCopter-Port, oder?
Dann funktioniert es im Moment nicht. ArduCopter oder ApmCopter benutzt MavLink als Protokoll und nicht das hier verwendete MultiWiiSerialProtocol. Ich habe bisher noch nicht die Muße gehabt, mich mit MavLink auseinander zu setzen, da es mir bisher wie ein elendes Gefrickel vorkam, die entsprechenden Header einzubinden und zum Laufen zu bekommen.
 
#92
Ja mpng ist der port von Arducopter. Ich habe mich ein wenig durch die Firmware gewühlt und Sachen gefunden mit den man es evtl einfach machen könnte. Mein problem ist nur ich weiss nicht wie ich in das protkoll die funktion einfüge das er es nicht nur an port x ausgibt sondern an port x und y dann könnze ich es nämlich seriell senden und das arduino board könnte das ohne größere Schwierigkeiten einfach lesen.
 

matt79

Neuer Benutzer
#93
Das Protokoll des WS2801 ist einfach. Die Datenleitung gibt ein H oder L und ist beim L-H Überang des Takts gültig. So ist die Geschwindigkeit der Schnittstelle variabel.
Das WS2811/WS2812B protokoll hat eine fisxe Frequenz von 800kHz (der 11 auch 400kHz) Die H und L werden in dem Verhältnis von H zu L innerhalb einen Peride dekodiert. H ist ca 50% zu 50% und L ist ca 20% zu 80%
Darum ist ein kontinuierliches empfangen und senden nicht möglich. Theoretisch ist es möglich alle Daten zu empfangen und dann alle Daten zu schicken.
 
#94
Hi matt79,

ich glaube du hast mich ein wenig missverstanden oder ich habe mich blöde ausgedrückt.:D
Es ging mir darum den Aktuellen flight mode aus dem crius rauszubekommen dies an einem weiteren Arduino zu Empfangen und dort je nach flightmode ein bestimmtes Lichtmuster zu bekommen.
Das Protokoll des WS2801 ist einfach. Die Datenleitung gibt ein H oder L und ist beim L-H Überang des Takts gültig. So ist die Geschwindigkeit der Schnittstelle variabel.
Das WS2811/WS2812B protokoll hat eine fisxe Frequenz von 800kHz (der 11 auch 400kHz) Die H und L werden in dem Verhältnis von H zu L innerhalb einen Peride dekodiert. H ist ca 50% zu 50% und L ist ca 20% zu 80%
Darum ist ein kontinuierliches empfangen und senden nicht möglich. Theoretisch ist es möglich alle Daten zu empfangen und dann alle Daten zu schicken.
Aber dazu habe ich mal frecherweise einen Neuen Threadhttp://fpv-community.de/showthread.php?43493-MPNG-amp-Copterlight-Projekt-%28suche-Hilfe%29http:// eröffnet.....
 
Zuletzt bearbeitet:
#95
Moin zusammen,
prima Thema hier... genau das was ich suche.
Habe bisher die MWC-Light RGB an meinem Copter gehabt, die hat kürzlich den Dienst quittiert.
Jetzt würde ich gern meine WS2811/WS2812 Streifen weiter benutzen und mit nem Arduino-Project auch direkt etwas flexibler werden.
Die FastSPI Library läuft einwandfrei, bis auf kleine Farbfehler zwischendurch bei Lauflicht oder sonstigen schnellen Ansteuerungen.

Jetzt aber zur Problematik:
Ich habe mit heute die MuliCopterLightControl, die FastSPI und die SerialCommand runtergeladen, leider bekomme ich aber die MCLC nicht hochgeladen.
Scheinbar gibt es ein Problem mit der SerialCommand.
Fehlercode sieht folgendermaßen aus:

Arduino: 1.5.6-r2 (Windows 7), Board: "Arduino Leonardo"

In file included from C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\SerialCommand.cpp:30:
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\/SerialCommand.h:78: error: expected `)' before '&' token
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\/SerialCommand.h:104: error: ISO C++ forbids declaration of 'SoftwareSerial' with no type
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\/SerialCommand.h:104: error: expected ';' before '*' token
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\SerialCommand.cpp:50: error: expected `)' before '&' token
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\SerialCommand.cpp: In member function 'void SerialCommand::readSerial()':
C:\Program Files (x86)\Arduino\libraries\ArduinoSerialCommand\SerialCommand.cpp:92: error: 'SoftSerial' was not declared in this scope
Muss dazu sagen dass ich mit dem Arduino noch so gut wie keine Erfahrung habe, also seht es mir nach falls es nur ein Verzeichnisproblem, oder eine einfache Einstellung ist.

Hoffe auf Hilfe und würde mich gern etwas in dieses Thema einbringen, wenn ich es denn zum Laufen bekomme.

MFG

Patrick
 
#97
Hallo Jungs möchte mich gern anschließen. Habe aber absolut keine Ahnung von Arduino und habe mir diese SET für Dummis ausgesucht. Ich weis noch nicht einmal ob ich hier so einen Hinweis über einfügen Darf und ob der Tread passt
http://www.amazon.de/Anfängerset-Mi...00876193&sr=8-4&keywords=fritzing+creator+kit Kennt von euch jemand das SET und ist es für den einstig hilfreich? Ich möchte wie ihr, für meine DJI F450 Kopter eine Ausbaubahre Lichtanlage selber bauen. Mit Eurer Hilfe natürlich
 
Zuletzt bearbeitet:
#99
Danke Alex . Ich wollte das Set auch erst einmal zum Üben um zu sehen ob ich mit der Elektronik auch zu recht komme. Wenn das dann der Fall sein sollte, werde ich mir dann Kopter spezifisch was zulegen, Hier im Forum gibt es ja tolle hilfsbereite Kopteflieger die gern ihr wissen teilen.
Dirk
 
Hallo Euch allen,

ich habe bisher nur als Gast mitgelesen und dadurch schon einuges an Infos bekommen. Ich habe aber ein kleines Problem und hoffe das Ihr ir weiterhelfen könnt.

Ich habe einen Arduino Nano mit dem ich gerne einen WS2812B ansteuern würde. Es ist ein 200cm langer Streifen mit 120 LED`s drauf. Wie macht Ihr das mit der Stromverorgung ?? Was braucht der Nano und was braucht der Streifen bzw. muss ich beides einzeln mit Strom versorgen ??

Ich bin noch nicht lang dabei in der Arduino Geschichte, als seht es mir ein wenig nach wenn ich zu doof Frage....:)

Liebe Grüße
Holger
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten