LED Matrix mit 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
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 )
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.
-
-
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!
-
-
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 gewordenIch 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
-
-
Aber warum weiße LEDs???
Blaue, Rote oder Grüne sind doch viel "cooler"
Aber der Aufbau gefällt mir ganz gut, sieht gut aus.
-
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
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 zusammenDas 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:
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:
Code
Alles anzeigenvoid shift_out_data() { for (byte i=0; i<Num_Pixels; i++) { byte r = display_buffer[i*3+0]; byte g = display_buffer[i*3+1]; byte b = display_buffer[i*3+2]; for (byte j=0; j<8; j++) { digitalWrite(CKI, LOW); if (b & (byte)(1<<(7-j))) {digitalWrite(SDI, HIGH);} else {digitalWrite(SDI, LOW);} digitalWrite(CKI, HIGH); } for (byte j=0; j<8; j++) { digitalWrite(CKI, LOW); if (r & (1<<(7-j))) {digitalWrite(SDI, HIGH);} else {digitalWrite(SDI, LOW);} digitalWrite(CKI, HIGH); } for (byte j=0; j<8; j++) { digitalWrite(CKI, LOW); if (g & (1<<(7-j))) {digitalWrite(SDI, HIGH);} else {digitalWrite(SDI, LOW);} digitalWrite(CKI, HIGH); } } digitalWrite(CKI, LOW); delayMicroseconds(800); //Latch Data }
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
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
-
Super Pepe,
vielen vielen Dank, so sollten wir es schaffen
schönen Abend noch!
-
-
Netter Comic!
Das hier sieht doch ganz gut kommentiert aus?!
http://blog.lincomatic.com/?p=148
LG,
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 macheGruß,
UnrealEDIT: Hatte auch mal Lust einen "Rage Comic" zu machen xD und passte dann einfach
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 SoftwareDer 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