Glediator - Freeware LED Matrix Steuerung - Software

  • Ich bin zwar noch nicht ganz sicher, aber mir ist aufgefallen, dass in tpm2.net die Paketnummer mit 0 beginnt. Lt. Spezifikation (tpm2.de) soll dies aber bei 1 beginnen. So ist es glaub ich im SEDUv3 auch implementiert. Ich schau es mir aber nochmal genau an.


    Für das Artnet-Thema hatten wir bei Jinx in dem Zusammenhang auch mal eine Diskussion. Ich denke, dafür gibt es eine Lösung. Muss ich noch ein wenig testen.

  • Hallo zusammen,
    ich versuche gerade verzweifelt ein Sedu V3 per WLAN mit Glediator zu laufen zu kriegen. Habe eine Matrix aus 20 x 10 WS2801 Pixeln. Eine Ansteurung per TMP2.Net klappt leider nicht. Das Sedu Bord zeigt zwar eine Datenempfang an, gibt aber nichts aus, bzw. scheint abzustürzen. Per Artnet mit Universum 0 und 1 komme ich leider ebenfalls nicht klar: von Universum 0 werden 170 Pixel korrekt ausgegeben. Das Problem ist der Wechsel auf Universum 1. Das Sedu verlangt hier scheinbar, dass Pixel 171 noch die letzten 2 freien Kanäle aus Universum 0 und 1 Kanal von Universum 1 belegt werden. Pixel 172 bis 200 über Universum 0 funktionieren einwandfrei. ?( Für eine Gip wäre ich echt dankbar.


    So, ich habe noch ein wenig in einer Testumgebung probiert. Es sollte wie folgt funktionierren:
    Artnet muss am besten so gepatcht werden, dass man die 2 Universen gleich verteilt. Aber auf jeden Fall muss man beim Festlegen der IP-Adresse neben dem Universum auch die Zahl der Pixel eingeben. Das wären dann 510 für die 170 Pixel und nicht 512. Ich habe eine 16x16-Matrix zum Test aber einfach gleich auf beide Universen verteilt:



    Bei tpm2.net klappt es auch, wenn man nicht mit Universum 0 beginnt, sondern 1. Es scheint so, als ob das dann als Paketnummer verwendet wird und 0 ist da nicht zugelassen. Mit 1 und 2 klappt es bei mir aber. Auch hier mal das Beispiel, wie ich das gepatcht habe:



    Bei mir hat allerdings das Patchen der seriellen Ausgabe mit miniDMX oder tpm2 nicht funktioniert. Egal was ich probiert habe, die Ausgabe lief nicht korrekt. Ich hatte fast den Eindruck, dass die Snake-Varianten nicht funktionieren.

  • Ich hatte die v2 zum Test verwendet und dann mal geschaut, wo das Problem lag. Da war halt das erste Paket mit 0 bezeichnet. Ich musste beim universum dann mit 1 beginnen, um das zum Laufen zu bringen. Ist es normal, dass ein Paket nur 512 Byte max. groß ist oder mache ich da etwas falsch?

  • Hallo,


    erstmal danke für dieses gelungene Programm!


    Ich hätte noch folgende Anregungen/Wünsche:
    Eine einfach zu nutzende Schnittstelle. Ich würde die LEDs gerne aus meiner Haussteuerung anpsrechen. Ginge evtl über die FB Schnittstelle. Einfacher wäre sowas wie eine Steuerdatei.
    2 Mbit Baudrate


    Denn habe ich eine 32x32 Matrix. Also immehrin satte 1024 LED. Es ist mir gelungen die mit einem Arduino Uno anzusteuern. (Der modifizierte Sketsch anbei). Leider geht jedoch die Wiederholrate auf 12 FPS. Das is eindeutig zu langsam für bewegte Effekte. Wird aber mit einem Mega wohl auch nicht besser, da es an der Baudrate liegt. Ich glaube der Arduino könnte 2 MBit, könnte man das nicht im Programm auch noch integrieren?
    Welche Möglichkeit zur Ansteurung wäre sonst sinnvoll? 2 Arduinos geht ja auch nicht, oder ?


    Hier der Code. Der Trick ist mit 2 Pins zu arbeiten und nacheinander die 1ste und 2te Hälfte zu aktualisieren. Funktioniert einwandfrei nur zu langsam.

  • 2 Mbit gehen bei 16MHz F_CPU gerade so, aber das wäre schon sehr an der Grenze.


    Bei 1000 Pixel solltest Du aber auch mit 1MBit noch hinkommen!


    Deinen Flaschenhals hast Du Dir wahrscheinlich hiermit selbst gebastelt:


    Code
    if (pos  >= (NUMBER_OF_PIXELS*3) ) digitalWrite(13, HIGH); else digitalWrite(13, LOW);


    Ich habe ganz bewusst in meinem originalen Sketch auf native Port-Makros gesetzt! Die Arduino-Funktionen machen in einer ISR m.M.n wenig Sinn da sie viel zu viel Overhead (=Zeitverlust) mit sich bringen!


    Versuch es mal, ich denke Du wirst überrascht sein!


    LG,


    Pepe

  • Oh das war nur Debug ... die Zeile ist ganz raus. Bin aber dennoch bei 12 FPS.


    Hab gerade mal probiert (nur in Galdiator geändert):
    1000000 12 FPS
    1250000 bleibt bei 12 FPS
    500000 bleibt bei 12 FPS
    250000 6 FPS
    115200 3 FPS


    Also haste an sich recht, sollte das auch mit 1000000 genügen. Will er aber irgendwie nicht.


    Der zeitkritische Urart Teil sieht jetzt so aus:


    Noch jmd. ne Idee?

  • Guten Abend.


    I'm sorry this is in English. I am trying to use Glediator with Arduino MEGA1280 to control a 24x20 matrix of WS2812B. I have downloaded the WS2812_Glediator.ino and installed it on my MEGA1280. I have Glediator talking to the Arduino over a serial connection 1000000 baud. The serial RX LED flashes on the Arduino but the Arduino output pin does not show any activity. I modified the Arduino sketch to use a different output pin to test:


    #define DATA_PORT PORTB#define DATA_DDR DDRB #define DATA_PIN 1 #define NUMBER_OF_PIXELS 480


    This is pin 52 on Arduino MEGA. When I run this code my logic probe shows pin 52 going LOW but nothing is output when Glediator is running.


    Is there a problem with the WS2812_Glediator.ino on Arduino MEGA? I really want to use Glediator because it is an excellent program.


    Thank you for any help you can give me.


    Tim


  • Ich häng Dir mal ein Patch-File für Deinen Fall an.
    Patch_32x16_Vertical.txt


    Danke für das File, hat mir sehr geholfen! Das Projekt liegt leider seit einem Jahr im Keller weil meine Wall sehr reparaturanfällig ist.
    Jetzt steht ein gig an und es sollte dann laufen.
    Hab dabei jetzt nur bei dem File das Problem das die Farben verschoben sind. Was Rot ist jetzt Blau usw.
    Gibt es eine Anleitung wie ich etwas selber Patchen kann. Was muss ich wo eintragen, auto Patch Funktion, usw.
    Kann ich auch das File her nehmen und die Farben nachträglich anpassen, außer bei den Boards die kabel durchzutauschen? :P


    Mfg schaf

  • esp8266_tpm2net_ws2812
    This is a custom firmware for the esp8266 wifi module that will drive a strand of ws2812 LEDs using the TPM2NET protocol. I am successful at driving 132 LEDs (11x12 matrix) using this firmware and pixelcontroller (v2.1.0-RC1) & glediator (v2.0.3) software. I expect it to operate more LEDs (hopefully up to 512 LEDs) ... This is based on work by Charles (cnlohr) and Frans (Frans-Willem) ...


    https://github.com/sfranzyshen/esp8266_tpm2net_ws2812


    we are supporting other chipsets ...
    https://github.com/sfranzyshen/esp8266_tpm2net_lpd6803
    https://github.com/sfranzyshen/esp8266_tpm2net_ws2801

  • Hallo Leute,


    Ich hab jetzt Glediator mit meinen ws2811 Pixeln getestet und ich muss sagen die Software ist echt gut.
    Aber leider funktioniert die Beat detection nicht wirklich bei mir.
    Mir kommt vor dass die Beat detection keine wirkliche beat detection ist, sondern nur anspringt wenn der Triggerpunkt mit der Lautstärke überschritten wird.
    Das ist nicht ganz sinnvoll da elektronische Musik mittlerweile so laut gemastert ist, dass man mit der Lautstärke kaum noch den Takt herausfinden kann.


    Bin ich zu doof zum konfigurieren oder ist das gewollt?


    Hat vielleicht schon jemand Erfahrungen mit der Beat Detection oder bin ich einer der wenigen die das verwenden?




    Gepostet mit Smartphone....
    Danke und lg Fisico

  • Hallo Fisico,


    ja das hat so seine Richtigkeit! Über den Trigger-Level stellt man ein ab welcher (gemittelten) Lautstärke ein Event ausgelöst wird. Die Mitteilung ist dabei ein sog. "Moving Average" d.h. es funktioniert sowohl bei leisen als auch bei lauten Stücken ohne das man jedes mal den Schwellwert nachstellen muss.


    Spiel mal ein wenig mit dem Schwellwert herum ich denke dann wirst Du schnell eine Lösung finden.


    PS: SAchau mal das dein Audioeingang nicht versehentlich dein Mikrofon ist! Das hat nämlich ne besch... Auflösung. Insb. wenn man weit weg ist!


    LG,


    Pepe

  • hi pepe,


    es ist ein Line Eingang (hoher und niedriger Pegel probiert)... aber irgendwie ist zb. der Strobe Effekt nicht synchron zur Musik....
    zb.: Elektronisch Musik 128 BPM 4/4 Takt dort sollte der Strobe Effekt mindestens 4 mal pro Takt blinken (kann auch gerne öfter sein also zb 8 oder 16 mal pro Takt) (unabhängig von der Lautstärke).


    Ich denke man findet am besten mit der Kickdrum den Takt raus. Vielleicht eine Frequenzanalyse im Lowend (20-250Hz) und die Kick rausfiltern. Somit hat man immer einen Triggerpunkt und das Licht passt zur Musik.




    Vielleicht hab ich auch zu hohe Anforderungen :) dann muss ich halt damit leben wie es ist... Trotzdem bleibt es ein cooles Programm.

  • Moin Leute,


    vielleicht kann mir ja jemand weiterhelfen. Ich bau mir gerade einen LED Matrix Tisch, wird wohl dieses Wochenende oder nächste Woche fertig.
    11 x 11 Pixel, Raster 33mm, ich verwende WS2812B LED Stripes angesteuert über einen Arduino Uno auf dem das Sketch von solderlab.de für WS2811 / WS2812 installiert ist.


    Leider sind die Farben rot und grün vertauscht... fällt bei verrückten random Pixel Animationen nicht so auf, aber ärgerlich ist es trotzdem, weil es bei bestimmten Animationen eben doch auffällt und man eben einfach nicht die Farbe bekommt die man am PC einstellt -.-


    Baudrate ist auf 1.000.000 und auch die "color order" auf BRG, habe aber auch alle anderen "color order" Einstellungen probiert. Zwischen dem Datapin des Arduino und dem Datapin vom Stripe ist ein 470 Ohm Widerstand, außerdem habe ich einen 4700 µF Kondensator um die Spannung zu glätten, verwendet wird ein 5Volt Netzteil mit 8A von Meanwell.
    Die Stripes sind aus der Bucht: "30 Led´s/m WS2812B Streifen Stripe weiss". Habe erstmal ein Stück mit 9 Pixeln getestet.


    Liegt es vielleicht daran, dass es sich um WS2812"B" handelt?


    Ärgert einen schon, wenn der Tisch noch gar nicht fertig, aber schon "kaputt" ist ;)


    Vielleicht hat ja jemand ne Idee.


    mfg Nils

  • Moin,


    erstmal danke für deine Antwort. Ich habe mit der Wave Animation getestet:


    Wave Animation auf blau -> LEDs = blau
    Wave Animation auf rot -> LEDs = grün
    Wave Animation auf grün -> LEDs = rot


    Blau ist also okay rot und grün aber genau vertauscht, daher werden alle Farben die mit blau oder rot gemischt werden falsch dargestellt. Also anders als auf dem Display in der Software.


    Ich könnte mir vorstellen die Ursache liegt irgendwo in dem Arduino Sketch, konnte dort aber nichts finden, wo ich die Farbe umändern könnte. Vielleicht hätte Pepe ja ne Idee, irgendwie
    quick 'n dirty die Daten für rot und grün vertauschen, so dass es dann wieder richtig wäre ;)


    PS: Ich habe nicht die aktuellste Glediator Version benutzt, werde morgen nochmal die neuste nehmen, aber denke eher nicht, dass das die Fehlerquelle ist.


    mfg Nils


    PS: LEDs und Computer sind doch manchmal wie Schwarzmagie... :P Nichts geändert und nochmal versucht und es geht, was vorher bei 7-8 Versuchen immer nicht funktioniert hat.
    Die LEDs stellen jetzt die richtige Farbe dar. Ich habe ein bisschen im Internet gelesen die WS2812B sollen ziemlich empfindlich sein und können schonmal leicht durch äußere
    Einflüsse aus dem "Takt" gebracht werden, vielleicht lag es daran.


    Naja ich bin happy das es jetzt geht, sry^^