RGB Led Matrix - prototyp mit einem rainbowduino

  • Hallo zusammen


    Ich habe mich in letzter Zeit ziehmlich mit dem Thema LED Matrix beschäftigt, hauptsächlich mit dem Rainbowduino RGB Led controller von Seeedstudio. Dieser Treiber steuert eine common anode 8x8 rgb led matrix an. das schöne: jeder controller hat ein i2c/spi/uart anschluss (man kann beliebige matricen hinzufügen), das negative: software pwm.


    nichts desto trotz, habe ich die rainbowduino firmware aufgemotzt und dazu eine einfach library für Processing geschrieben, damit man das teil auch einfach ansteuern kann. ich wollte mich natürlich mit einer 8x8cm "grossen" led matrix zufrieden geben, daher baute ich mir selber eine grössere. Das ganze habe ich in meinem blog dokumentiert, hier ein screenshot der matrix ohne diffuser:
    [Blockierte Grafik: http://www.neophob.com/wp-content/uploads/2010/10/2010-11-11-23.12.43-1024x768.jpg]


    aber 64 rgb led von hand löten macht einfach keinen spass, weiter war meine LED wahl (10mm rgb led mit 30° abstrahlwinkel) auch nicht der hammer, da der rahmen viel zu tief geworden ist.


    Meine Frage:
    ich möchte eine led matrix (oder mehrere) mit relativ kleinem aufwand und günstig realisiseren (tönt ja nach einem interessenskonflikt... ;) ). folgende ideen kamen mir in den sinn:

    • led stripes (analoge) - gibts da welche mit einzelnen segmenten (also nur eine led pro segment)? alles was ich finden konnte, waren Standart 3 leds/segment.
    • pcb erstellen, sozusagen manuelle led strips mit 8 RGB Leds (wobei jede common anode einzeln angesprochen werden kann), single sided, 80cm*1cm -> kann man das überhaupt bezahlen, ein pcb in dieser grösse?
    • leuchtmittel: welche led's könnt ihr mir empfehlen, ich brauch grossen abstrahlwinkel (mind. 80°), so hell wie möglich, common anode bauweise von vorteil



    oder meint ihr, das ist totaler quatsch, und das ganze kann man auch mit einem digitalen led strip (ws2801 oder HL1606) erreichen?


    ich danke euch schonmals
    cheers


    ps: hier noch ein video/beschrieb von der matrix in action
    und wenns jemand interessiert, die firmware für den neorainbowduino

  • FULL ACK


    Hmm nur das ich das richtig verstehe, der rainbowduino verwendet pro 8x8 leds einen controller, die leds haben keine logik, während ein digitaler led strip die logik auf die einzelnen leds verteilt? wie werden die einzelnen leds auf dem strip angesprochen, denke das wird dann hersteller abhängig sein und irgend ein spi protokoll sein?


    ich möchte meine matrix pixel genau ansprechen - mit meiner software, und ohne led walker oder änhliches. gibt es digitale "standart" led strips z.b. mit spi/i2c interface? kann ich z.b. mir einem arduino einen digitale led stripe anprechen?


    was ich gefunden habe, ist ein hl1606 basierender strip - gibts bezahlbare händler in europa?


    was ich beim rainbowduino nett finde, ist die einstellbare farbtiefe (12bit/15bit) - denke solche einstellungen entfallen bei einem fertigen strip...


    was mich dennoch interessieren würde ist, ob jemand erfahrungen hat, was ein oben erwähntes pcb kosten würde...


    cheers und danke!
    michu

  • ahh besten dank. dann entfällt der HL1606 schon mal. wobei ich mich frage, ob sich 24bit farbtiefe wirklich lohnt bei animierten led matricen... bei stand bildern sieht man das sicherlich, aber bei animationen... aber das kommt wohl auch auf das einsatzgebiet/verwendete hardware an.


    aber der rgb pixelkontroller sieht wirklich interessant aus. das einzige, was mich ein wenig abschreckt sind die kosten, das wäre ca. 240€ + verkabelung für eine 8x8 matrix. jetzt mal eine dumme frage, wäre es möglich, das board als zwillingsboard zu verwenden, sprich nur jedes 2te board vernwendet einen ws2801 - die wäre also dann für 2 "pixel" verantwortlich... ginge das technisch?

  • Ja, wenn beide Pixel gleich leuchten sollen...


    wegen HL1606: Der kann nur 7 Farben (jeweils R, G, B an/aus) direkt, und dann nur noch Verläufe, also Du "sagst" ihm "mach nen Verlauf von Rot nach Blau in der und der Zeit" - kannst aber statisch z.B. nicht mal Orange darstellen (OK, ausser Du machst nen Verlauf von Rot nach Grün, und setzt dann den Takt aus, wenn Orange erreicht ist..)


    der fällt also weg...


    Du widersprichst Dir ein bisschen, weil Du einerseits die 12/15 Bit beim Rainbowduino toll findest, andererseits aber dann meinst, man braucht nur sehr wenig Farbtiefe.... ;) - 8 Bit (wie beim WS2801 und Konsorten) ist ein guter Kompromiss, im untersten Bereich zwar ein bisschen abgestuft, aber bei bewegten Animationen nicht auffällig...


    EDIT: Hab's mir mal angesehen, das sind dann aber 12/15 Bit *insgesamt*, also 4 oder 5 Bit pro Farbe, anders würde das mit dem Multiplexen auch timing-mäßig nicht hinhauen - beim WS2801 o.ä. hast Du aber 8 Bit *pro Farbe*, also eh' schon mehr - ebenfalls in dem Sinn "einstellbar", dass Du ja nicht zwingend die vollen 8 Bit ausnutzen musst...


    ansprechen kannst Du den ja mit Deinem Arduino: Einfach Clock und Data an zwei Digital out, und dann per Bitbang die Daten rausgeschoben, die (wie auch immer) vom Rechner (oder woher auch immer) kommen...


    sowas in der Art wird hier im Forum auch gerade entwickelt, ist praktisch wie ein Arduino, nur halt ohne den Arduino-Bootloader drauf :D (der diesen ja erst in Verbindung mit der IDE zum Arduino macht, HW-mäßig ist der ja auch nix anderes als ein normaler AVR auf nem Board mit bisschen Kleinkram rum)


    wegen den PCB: einfach mal bei den üblichen Verdächtigen (pcbpool, pcbcart, leiton, ...) anfragen, was sowas kostet - 80x1 cm ist halt schon komisch (von der Stabilität, Versand etc.), aber Du kannst das ja auch auf 2x 40 cm x 1 cm aufteilen... und dann lieber PLCC6 statt 5-mm-LEDs nehmen... 1 LED pro 10 cm ist halt auch nicht gerade viel, ausser man will gezielt diese Punkt-Optik haben (sowas wollte ich auch mal bauen, in 3,20 m x 1,6 m, ist mir dann aber zu teuer geworden...)


    (OK, die Matrix in dem Video hat 10x10-qcm-Felder...? - ist aber nicht gerade besonders hell und gleichmäßig, oder...?)

    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!

    Einmal editiert, zuletzt von Pesi ()

  • die matrix hat 8x8cm felder, blenden tut sie dich nicht gerade (10mm rgb led's von evilmadscience.com) ;) aber im abgedunkelten raum siehts gut aus - das video ist halt kake, da die pwm das video stört.


    >Du widersprichst Dir ein bisschen, weil Du einerseits die 12/15 Bit beim Rainbowduino toll findest, andererseits aber dann meinst, man braucht nur sehr wenig Farbtiefe
    naja ich sagte nicht es sei das beste ;) was ich meinte war, dass wenn ich 12bit (also je 4bit pro farbe) verwende mit 96 bytes meine ganze 8x8 led matrix füllen kann.


    ich denke ich evaluier mal eine alternative, und zwa eine LPD6803 basierende version (wurde ja auch schon im forumn besprochen, 15bit total). ich habe hier einen händler gefunden, 3x RGB 5050 smd led, 1x lpd6803 - ein modul für $1.37. mal schauen ob die was können und ob ich meinen arduino dazu bekomme, mit den dingern zu sprechen...


    oder hat jemand schlechte erfahrung mit der http://www.aliexpress.com seite gemacht? oder kennt alternativen?


    denke ~90$ für ne 8x8 led matrix ist jetzt nicht soo schlecht, oder was meint ihr?

  • Aliexpress taugt schon - das einzige, was *wirklich Kacke* dran ist, man verliert jegliche Motivation so was selbst zu bauen, wenn's das beim Chinesen für die Hälfte billiger fertig gibt.... :D


    LPD6803 ist auch recht einfach anzusteuern (gibt's auch Threads bei mikrocontroller.net), beim TM1804 könnte es mit dem Arduino schwierig werden, weil man da ganz kurze Pulse (ein paar Prozessor-Takte lang) erzeugen muss, das geht so wirklich gut nur in Assembler, k.A. wie genau der Arduino das macht, wenn Du ihm sagst er soll zwischen ein- und ausschalten 600 ns warten... :D


    (Also wenn man die Arduino-IDE nimmt, wie schon gesagt, das ist auch nur ein normaler AVR mit Bootloader drauf, Du kannst die FW also auch hier in ASM schreiben...)

    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!

  • Beim LPD6803 bitte bedenken, das dieser "nur" 5 Bit/Farbe hat. Langsame fades "ruckeln" da ganz ordentlich.


    das schnall ich jetzt nicht so ganz - was ich will ist, einen buffer von meinem pc in die led matrix schmeissen - ich brauche also keine speziellen funktionen des LPD6803 aussert die color zu setzten. warum sollte das ruckeln? aufgrund der internenen gamma tabelle? mein rainbowduino hat nur 12bit colors - klar sind da die übergänge nicht extrem fein, aber bei einer animation fällt das kaum auf - oder meine ich da komplett was anderes?

  • "ruckeln" war wohl das falsche Wort.


    Faktisch kann der LPD6803 halt nur 32 Helligkeitsstufen pro Farbe (5 Bit), und da sind die "Spruenge" zwischen den Stufen, vor allem "unten rum" doch recht stark.


    Wenn sich also der Content nur langsam aendern soll ("Fades"), wird man das deutlich merken. Ist bei 8Bit ja auch schon so, das sich die untersten Werte subjektiv stark in der Helligkeit unterscheiden.


    Wenn das Teil wild am 'rumflashen ist, wird man davon jedoch nix merken, da taugt der LPD genauso wie die anderen...

  • Noch eine Frage habe ich, nach intensiver suche nach mehr infos über dieses Module habe ich noch folgende Angabe gefunden:


    This module could be linked up to 20PCS modules, more than 20PCS is strictly prohibited


    Kennt da jemand den Grund? Spannungsabfall?


    cheers


    EDIT: JA spannungsabfall, lösung zum problem siehe: http://rightleds.com/images/pr…odule/RFT3535-3RGBD-4.jpg