LED Matrix mit Colorduino und Glediator

  • Hallo,


    ich möchte eine LED Matrix bauen und ansteuern. Ein Schema hab ich mal gebaut:


    Was ich mich frage wie ich vom Glediator zum Arduino komme. Hat jemand von euch so was schon mal realisiert?
    Die Kombination aus Arduino/Colorduino und Glediator.

  • Willkommen im Forum !



    Du müsstest halt einen Code schreiben bzw. einen den es gibt umschreiben, so das die Signale die von Glediator zum Arduino kommen von dem verstanden werden und der gibt dann Befehle an den Colorduino weiter.
    Auf der Projektseite von Pepe ist ein Code für den Arduino, der ist aber so weit ich weiß für Digitale Pixel, aber ich denke vielleicht lässt sich der für den Colorduino anpassen.


    Gut wäre es auch wenn du überhaupt erstmal sagst, wer du bist und wie viel Erfahrung du hast ;)


    Das Projekt klingt aber spannend und ich würde mich daran beteiligen, habe auch einen Colorduino hier :D


    mfg

  • Hallo JanKy,


    Dein Vorhaben solltest Du recht leicht realisieren können wenn Du mal auf unsere Seite von Glediator gehst und Dir dann ganz unten die Datei "WS2801.zip" runter lädst.


    In dieser ist ein Arduino-Sketch der Daten im Gladiator-Protokoll empfängt und sie über SPI an WS2801-Pixel weitergibt. Alles was Du nun tun musst, ist den Teil des SPI-Daten-Rausschaufelns durch deine I2C-Routine zu ersetzen! (Ach ja, und ganz oben im Code solltest Du natürlich den Empfangs-Puffer auf Deine Matrix-Größe einstellen :rolleyes: )


    Viel Spass beim Probieren, wenn Du Hilfe Brauchs sag Bescheid! Und halt uns immer schön auf dem Laufenden!


    Beste Grüße,


    Pepe

  • Vielen Dank für eure Antworten,


    ich werde mir mal den Sketch ansehen und schauen, ob ich da was zum Laufen bekomme.
    Bin noch "Anfänger" deshalb ja auch die Frage in diesem Teil des Forums. Melde mich, wenn ich entweder stecken geblieben bin, oder die nächste Frage auftaucht.


    Die Matrix vollte ich übrigens mit Schweißdraht machen, verkupferter Stahldraht. Das habe ich hier auch noch nicht gefunden. Aber erst müssen meine LEDs aus China hier eintreffen... Bis dahin teste ich mit meinen Breadboards.

  • Meine Schweißdrähte sind heute gekommen. Da hab ich schon mal einen Rahmen gebaut.
    Fehlen noch die LEDs, die sind auf dem Weg aus China...


    Mit der Programmierung bin ich leider noch nicht wirklich weiter.
    Ich hoffe bis zum Eintreffen der Leuchtmittel das einigermaßen im Griff zu haben.

  • Hast du schon einen Code der auf dem Arduino läuft?


    Da gibt es ja schon was fertiges, klick :)


    denke mal dieser Slave-Code lässt sich auch so umschreiben, das I2C verwendet wird und das dann mit dem umgeänderten Pepe Code ansteuern.


    Wenn du irgendwo Probleme hast kann ich auch gerne versuchen zu helfen ;)


    Aber ich muss sagen, dass ich schon seit einem Jahr ca. nichts mehr richtig geschrieben habe mit dem Arduino und eingerostet bin....


    also schönen Abend noch prost! :thumbup:

  • Ich hab erst mal am anderen Ende weiter gemacht und in Processing ausprobiert, wie eine 32*6 Monochrom Matrix in eine 8*8 RGB Matrix umgewandelt werden kann: So brauch ich die Matrix nur noch passend verkabeln und kann einfach die 8*8 RGB Matrix vom Colorduino generieren lassen.


  • Tja und ich würde das ganze gerne mit 1 Colorduino umsetzen und einer RGB 8x8 Matrix und dann später 3 Colorduinos als 8x24 Matrix.
    Pepe ich habe mir deinen Sketch mal angeschaut, also der für den Arduino und die digitalen Pixel.
    Aber ich muss sagen so schlau bin ich daraus noch nicht geworden ;)


    Ich muss da nochmal mehr Zeit reinstecken. Aber vom Prinzip her sendet der Arduino die Daten ja über 2 Pins raus.
    Und wenn ich jetzt von Arduino per I2C an den Colorduino senden will wären es ja auch 2 Pins.
    Aber ich habe gerade noch keinen Plan, ob ein anderes Format benötigt wird und wenn welches etc.. Liegt ja auch mit daran was für Daten der Colorduino mit seiner SW erwartet.


    Könnte einen Stoß in die richtige Richtung gebrauchen ;)


    mfg

  • Hallo und guten Abend zusammen.


    Ich bin Jens, 33 Jahre alt und komme aus Achim (bei Bremen). Ich arbeite im Bereich Elektronik und beschäftige mich nun seit gut fünf Jahren sowohl privat, als auch beruflich mit Mikrokontrollern wie Arduino. Hierbei habe ich schon so manche Projekte gemacht (habe meinen Blog im Profil eingetragen).


    In diesem Winter hatte ich dann (endlich) mal Zeit und Lust (und ein paar Euro) um mir eine LED-Matrix zu kaufen / bauen. Gleich vier Boards alla Colorduino mit passender 8x8 LED-RGB-Matrix besitze ich nun. Diese laufen auch "stand alone" ganz gut. Eigene Bilder konnte ich schon mittels Aruno-IDE programmieren. Was fehlt ist allerdings die Steuerung aller vier gleichzeitig per Software.


    So bin ich dann hier gelandet und habe nun ca. fünf Stunden gelesen, gestaunt und ausprobiert. Und da mein Vorredner ähnliche Konstellation zum "laufen" bringen möchte, bin ich in diesem Beitrag hoffentlich richtig untergebracht ;)


    Java ist bereits installiert. Nach einigem suchen hier im Forum erscheinen nun auch die Com-Ports im GLEDIATOR. Wobei ich allerings hilfe gebrauchen könnte, ist die Software sowohl für das Arduino, als auch auf dem Colorduino. Auf meinem Arduino Uno läuft nun das WS2801 Sketch, auf dem Colorduino das Programm aus dem instrctables-Artikel. Ich bekomme sie aber nicht aufeinander abgestimmt.


    Wäre jemand bereit mir zu helfen?


    Gruß
    Jens

  • Willkommen im Forum :D


    Naja so viel weiter sind wir wohl auch noch nicht gekommen, der Pepe aus dem Forum hier wollte mir nochmal helfen, aber der hat auch viel um die Ohren.
    Ich habe arbeitstechnisch gerade auch viel zu tun, aber ich denke wir bekommen das schon hin zusammen ;)


    Das Problem ist das das WS2801 Pixel Sketch ja die Daten anders sendet, zwar auch über 2 Pins, aber wie gesagt auf WS2801 abgestimmt.
    Für den Colorduino müssten die Daten auch über 2 Pins raus, aber mit I2C und dann müsste die SW auf dem Colorduino wissen, was sie mit den ankommenden Daten machen soll ;)
    Und der eine Colorduino sendet dann Daten an den nächsten Colorduino per I2C usw.
    So das dann die ganze 16x16 Matrix läuft.
    So wollte ich eigentlich auch meine 16x16 Matrix aufbauen, aber naja seit die Pepe Platine und Glediator da sind, war mein Leidensdruck nicht mehr so hoch xD
    Aber wäre schon ne schöne Sache Glediator + Colorduino und Hexenwerk ist es nicht.


    mfg

  • Hallo,


    ich wollte mich auch noch einmal zu Wort melden und vielleicht ein wenig Licht ins Dunkle bringen.


    Zu dem bereits existierenden Code folgenden Anmerkungen:


    Code
    //Change this to YOUR matrix size!!
    #define Num_Pixels 16


    An dieser Stelle bitte unbedingt die Anzahl eurer PIXEL eintragen!


    Den Rest vom Code einfach so lassen wie er ist. Um nun auf I2C zu wechseln geht ihr ganz nach unten im Code in folgenden Routine:



    Alles was in dieser Routine steht löscht ihr, da es nur dem seriellen Daten-Rasschieben über Soft-SPI dient und Euch bei I2C nix bringt. Das ganze sollte dann also so aussehen


    Code
    void shift_out_data()
    {
       //Hier kommt nun der neue Code rein
    }


    Nun sucht bitte bei Google nach "Colorduino Library". Ganz weit oben werdet ihr die entsprechenden Bibliothek für den Arduino finden! Ist alles schon fertig! Installiert die LIB bei euch und schaut euch mal ein zwei Bespiele an! Dann werdet ihr ganz schnell wissen was ihr in die Routine "shift_out_data" eintragen müsst! Das werden effective nur ein zwei Zeilen sein! ;) Das einzige was ihr wissen müsst, ist dass euren Daten in der Variable 'display_buffer' stehen. Diese ist ein Array aus Bytes mit einer Größe von 3xPixel-Anzahl. Die Daten liegen vor als {r1,g1,b1,r2,g2,b2,...}.


    Ach ja, und nicht vergessen in der Setup-Routine die entsprechende Zeile(n) aus den Beispielen zu übernehmen!


    Ist wirklich kein Hexenwerk! Die Lib macht alles für Euch!


    In diesem Sinne bestes Gelingen,


    Pepe

  • Das hatte ich mir auch schon angeschaut.
    Habe die Dateien auch so in den Pfad gepackt, aber dennoch Error Meldungen...



    In file included from sketch_apr17a.cpp:1:
    E:\arduino-1.0\libraries\Colorduino/Colorduino.h:23:22: error: WProgram.h: No such file or directory
    In file included from E:\arduino-1.0\hardware\arduino\cores\arduino/Arduino.h:212,
    from sketch_apr17a.cpp:5:
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected unqualified-id before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected unqualified-id before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected `)' before 'volatile'


    Das kommt wenn ich bei meinem Probe-Sketch Verify drücke.


    Kann das irgendwie sein, dass das nicht mehr zur neuen Arduino Version kompatibel ist, hatte in der neuen c't gelesen das es da Probleme geben kann.
    Ich weiß schon warum ich immer wenn es sich vermeiden lässt einen Bogen um Libs mache :P


    Gruß,
    Unreal


    EDIT: Hatte auch mal Lust einen "Rage Comic" zu machen xD und passte dann einfach :cursing: ^^
    Ich glaube manchmal, dass mich der Computer einfach hasst^^

  • Ich weiß echt nicht weiter....


    ich bekomme diese Fehlermeldung:



    In file included from ColorduinoSlave.cpp:27:
    E:\arduino-1.0\hardware\arduino\cores\arduino/Colorduino.h:23:22: error: WProgram.h: No such file or directory
    In file included from E:\arduino-1.0\hardware\arduino\cores\arduino/Arduino.h:212,
    from ColorduinoSlave.cpp:51:
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected unqualified-id before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:45: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected unqualified-id before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected `)' before 'volatile'
    E:\arduino-1.0\hardware\arduino\variants\standard/pins_arduino.h:46: error: expected `)' before 'volatile'


    scheint als fehlt dort eine Datei...


    EDIT: Okay statt der 1.0 Arduino IDE jetzt die 0.22 Version am Start und es geht, nur findet die Mastersoftware, die in Processing geschrieben ist nicht den Slave (Colorduino)
    Diese Software


    Der Colorduino blinkt kurz, wenn ich die SW starte, aber gefunden wird er nicht...

  • Hallo zusammen,


    die Software von instructables habe ich nun laufen. Bin auch auf Version 0.22 von Arduino gekommen.


    Die Änderungen am Code versuche ich Ende der Woche mal mit einem, von dem ich hoffe, dass er helfen kann ;)


    Melde mich dann wieder.


    Gruß
    Poldi

  • Moin,


    eigentlich muesste man ja nur den Sketch von Pepe so umschreiben, so dass die selben Signale gesendet werden, die die Processing Software sendet.
    Der Slave Sketch auf dem Colorduino koennte ja gleich bleiben. Bloed ist nur, dass ich keine Verbindung zwischen Colorduino und Master-Software bekomme...


    Habe echt keine Ahnung woran es noch liegen koennte, vielleicht am Treiber? Welche Version nutzt du? Und wie verbindest du Colorduino und PC? Ich nutze einen USB to UART Adapter.


    Greetings,
    Unreal