Arduino Mega - WS2812 - Glediator

    Arduino Mega - WS2812 - Glediator

    Hallo Leute,

    Ich habe folgende Situation: Ich möchte meinen WS2812 LED Stripe mit einem Arduio Mega steueren. Habe mir dazu passend auch die Software Glediator geladen und "installiert" (WS2812-Glediator-Interface, solderlab.de/index.php/downloads/category/4-glediator).

    Sobald ich aber den Seriellen Port Freigebe, leuchtet keine LED. Schließe ich den Sripe über einen Arduino UNO mit genau demselben Programm an, läuft es perfekt.

    Ich könnte mir vorstellen, dass es daran liegt:

    Quellcode

    1. #define DATA_PORT PORTD
    2. #define DATA_DDR DDRD
    3. #define DATA_PIN 6
    4. #define NUMBER_OF_PIXELS 50

    woher weiß der Arduino Mega, welchen USART er nehmen soll (es gibt ja 4, im gegensatzt zum Arduinu UNO).

    Vielleicht liegt es auch daran, dass beim kompilieren folgende warnung auftritt:

    Quellcode

    1. In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:30:0,
    2. from sketch\WS2812_Glediator.ino.cpp:1:
    3. ...WS2812_Glediator\WS2812_Glediator.ino: In function 'void USART_RX_vect()':
    4. ...WS2812_Glediator.ino:105:5: warning: 'USART_RX_vect' appears to be a misspelled signal handler [enabled by default]

    der code wird trotzdem kompiliert und übertragen.

    Vielen Dank für jede Hilfe :)
    danke schonmal für die Antworten!

    Genau, ich habe im Header gelesen, dass max. 512 Pixel angesteuert werden können (anscheinend für das UNO und Mega gleich?).
    Ich wollte mir aber einen Tisch mit 768 Pixleln bauen.

    Vielleicht hat ja jemand den Glediator sketch des Arduino Mega schonmal für die WS2812 Pixel umgeschrieben.
    Ich habe im Arduino Forum forum.arduino.cc/index.php?topic=344136.0 einen ähnlichen Beitrag gefunden, bei dem anscheinend jemand eine Lösung gefunden hat. Ich hoffe er/sie wird mir diese verraten :)

    Oder gibt es sogar eine komplett andere GUI, wie die Glediator Software?

    Dankeee ^^
    Falls ihr versucht, Daten über USB/seriell zu empfangen und diese dann an die Pixel auszugeben (tpm2, miniDMX etc.), dann wird das wohl nicht werden mit einem normal 8-Bit'er, solange der kein DMA unterstützt. Das ist zeitlich einfach nicht zu schaffen.
    Oder gibt es sogar eine komplett andere GUI, wie die Glediator Software?


    Ja, nennt sich Jinx! und der Programmierer ist auch hier im Forum vertreten

    Ich wollte mir aber einen Tisch mit 768 Pixleln bauen.


    Da wirst du mit einem Arduino aber nicht weit kommen, es sei denn du nimmst WS2801 Pixel.
    Ich habe gerade gesehen, dass es möglich ist bei Glediator mehrere Boards einzustellen.
    So könnte ich auch einfach 2 Arduino UNO nehmen, die jeweils für 384 Pixel "verantwortlich" sein. :)

    Jetzt ist nur meine Frage:
    Wie kann die Glediator Software, mit dem zweiten Board kommunizieren? Es wird ja nicht auch noch an den PC über USB angeschlossen, oder?
    Oder müssen die beiden Boards untereinander kommunizieren?

    Vielen Dank für die Hilfe :)

    MatrixMarc schrieb:

    Ich habe gerade gesehen, dass es möglich ist bei Glediator mehrere Boards einzustellen.
    So könnte ich auch einfach 2 Arduino UNO nehmen, die jeweils für 384 Pixel "verantwortlich" sein. :)

    Jetzt ist nur meine Frage:
    Wie kann die Glediator Software, mit dem zweiten Board kommunizieren? Es wird ja nicht auch noch an den PC über USB angeschlossen, oder?
    Oder müssen die beiden Boards untereinander kommunizieren?



    "Board" bezieht sich auf die von Solderlab selbst vertriebenen UI Boards : my.agile-hardware.de/en/umsetzerboard

    Die kann man dann auch daisychainen und deshalb gibt es natürlich die Einstellung wie groß die Matrix pro Board ist.

    Du arbeitest aber zwingend im Single Pixel Mode

    Da du nur einen COM Port für das Protokoll öffnen kannst, ist es meiner Meinung nach nicht möglich mehrere Arduinos oder sonstige "dumme" SPI Umsetzer gleichzeitig anzusprechen.
    Witzig was es da inzwischen alles gibt... Vielleicht hätten wir das tpm2-Protokoll doch lizenzieren sollen... :D (Spaß)
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!
    Moin,

    also ich denke der Arduino MEGA wird Probleme machen, weil Du wahrscheinlich nicht die Lötbrücke "RESET-EN" auf dem Arduino Board unterbrochen hast?
    Dann macht dein Arduino MEGA jedes mal einen Auto-Reset, wenn Glediator Daten schickt, so beginnt das Programm immer von neuem und die LEDs werden nie angesteuert.

    Der Sketch von solderlab.de läuft eigentlich auch mit dem MEGA. Falls Du einen anderen Code probieren willst, der alle neuen Arduino Modelle unterstützt:
    github.com/RanzQ/serial-fastle…ster/GlediatorFastled.ino aber die FastLED Library muss installiert sein.

    Der MEGA sollte deine 768 Pixel schaffen und ein MEGA kostet aus China ca. 9,00 EUR.

    Und sonst mal bei ebay nach Teensy Board suchen ;) Das schafft locker 1000-2000 Pixel, gibt verschiedene Versionen geht bei ca. 17,00 EUR los.
    Kann auch per Arduino IDE programmiert werden. Die aktuellste Version ist die 3.2 und hat am meisten Leistung.
    Aber der MEGA sollte ausreichen ;)

    Gruß Nils

    youtube/hamburgtechDE <- LED Tutorials!
    :thumbsup:
    Facebook/hamburgtech
    hamburgtech.de


    Keep calm and watch LEDs!

    MatrixMarc schrieb:




    Zum Arduino Mega und dem offiziellen Glediator code: Die Lötbrücke "RESET-EN" war bei mir von anfang an unterbrochen ?(

    Nochmals danke!!!


    Hast Du ganz, ganz genau geguckt? Es sind zwei Lötpunkte aber die eigentlich Verbindung zwischen den beiden ist dünn wie ein Haar. Sieht man nur
    bei guter Beleuchtung ;) Und wenn die wirklich weg wäre, solltest du eigentlich kein Sketch mehr auf den Arduino MEGA spielen können ;)

    Wenn die weg ist musst Du entweder einen Schalter anlöten oder du drückst sofort wenn unten Upload in der Arduino IDE steht, kommt nach Kompilieren, den Reset-Taster auf dem Arduino. Mit etwas Übung klappt es bei mir jetzt jedes mal, musste auf meinen MEGA in letzter Zeit sehr, sehr oft Code laden ;)

    Das FastLED Library kannst Du dir bei Github laden, ist auf der offiziellen Seite verlinkt, dann läuft der Code.

    Falls Du Probleme mit dem Installieren des FastLED Libarys hast, dann schau hier mal rein ab ca. Minute 4:




    Viel Erfolg ;)

    youtube/hamburgtechDE <- LED Tutorials!
    :thumbsup:
    Facebook/hamburgtech
    hamburgtech.de


    Keep calm and watch LEDs!
    Ich habe nun mal versucht, die WS2812b Module, mit dem Arduino Mega, Glediator und dem FastLED-Code laufen zu lassen.

    Beim kompilieren gibt es keine Fehler und im Glediator-Programm kann ich auch den COM-Port öffnen. Doch leider leuchtet keine meiner LED's.
    Die LED's sind getestet und funktionsfähig.

    Das ist der FastLED Code, den ich eingebunden habe:

    Quellcode

    1. #include <FastLED.h>
    2. #define NUM_LEDS 736
    3. #define DATA_PIN 6
    4. #define CMD_NEW_DATA 1
    5. #define BAUD_RATE 1000000
    6. CRGB leds[NUM_LEDS];
    7. void setup() {
    8. FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
    9. Serial.begin(BAUD_RATE);
    10. }
    11. int serialGlediator () {
    12. while (!Serial.available()) {}
    13. return Serial.read();
    14. }
    15. void loop() {
    16. while (serialGlediator () != CMD_NEW_DATA) {}
    17. Serial.readBytes((char*)leds, NUM_LEDS*3);
    18. FastLED.show();
    19. }


    Ist das Problem bei jemanden schonmal aufgetreten?