Maniacal Labs User Forum
AllPixels to drive a 6x9x53 array of LPD8806? - Printable Version

+- Maniacal Labs User Forum (http://forum.maniacallabs.com)
+-- Forum: AllPixel (http://forum.maniacallabs.com/forumdisplay.php?fid=1)
+--- Forum: AllPixel Support (http://forum.maniacallabs.com/forumdisplay.php?fid=7)
+--- Thread: AllPixels to drive a 6x9x53 array of LPD8806? (/showthread.php?tid=130)



AllPixels to drive a 6x9x53 array of LPD8806? - ghowles - 12-26-2016

Hello, 


I would like to build an 6 x 9 array of addressable LED strips (each strip about 1.7 m long so 53 LEDs per strip for a total of 2862 lights). The strips would hang vertically with 7 inch grid spacing together forming a 3D box display. I want to program a variety of effects such as a point of light bouncing around the box or orbiting bodies.

Would it be reasonable to use 5 or 6 AllPixels and Bibliopixel to run this array?


Each row of 6 strips would have 318 LEDs, so each AP could run two rows of 6 strips (636 LEDs) with the last one running just one row of 6 (for a total of 5 APs). Alternatively, I could use 6 APs, each running a column of 9 strips (477 LEDs).

Using LPD8806 strips, what would be my expected refresh rate?


If people have suggestions for a better/simpler way to execute this project, I'm all ears.


Gratefully,
GH


RE: AllPixels to drive a 6x9x53 array of LPD8806? - Adam - 12-27-2016

I'm very confused by the layout your are trying to describe... Is the whole thing basically 3 dimensional? Can you maybe draw it?


RE: AllPixels to drive a 6x9x53 array of LPD8806? - ghowles - 12-29-2016

(12-27-2016, 07:02 PM)Adam Wrote: I'm very confused by the layout your are trying to describe... Is the whole thing basically 3 dimensional? Can you maybe draw it?

Thank you for taking the time to answer. Sorry for the difficult description. Yes, it is three dimensional.  Does this diagram help? In the diagram, each strip of LEDs is a dotted line. All the strips in each column are the same color.


RE: AllPixels to drive a 6x9x53 array of LPD8806? - ghowles - 01-11-2017

Hi Adam (and any others who might be lurking),

Was that diagram helpful?
Any thoughts?

Thanks so much!
GH


RE: AllPixels to drive a 6x9x53 array of LPD8806? - Adam - 01-11-2017

Whoa... that's awesome Smile Sorry for the delay. Somehow I missed your earlier response. I will double check out notification setup. So sorry for making you wait.

So... Sadly I don't have "LEDCube" implemented because there's never been a need... until now I guess Wink But I think we can solve it without all that.

The biggest problem I see here is wiring it all up... However, assuming that you wired it all in one continuous strip it's doable.

First... I assume you are planning to use 5V LED strips? Do you have them already?
If not... (I hope so) let's ditch that entirely and instead go with 12V, something like this:
http://www.ebay.com/itm/WS2811-Addressable-Dream-Color-5M-150Leds-5050-RGB-Pixel-LED-Strip-Light-DC12V-/371766060712?var=&hash=item568efbe6a8:m:mHz6g14OfKueXxnxgpN2gEQ

So, 12V strips typically come as either WS2801 or WS2811 ("NeoPixel" protocol). That's because these control ICs are NOT integrated into the LED. Instead each control IC controls 3-4 "dumb" LEDs in series as one big pixel. Since you want entire columns in your "cube" to be the same color. This is perfect as there are less logical pixels per column. I know you said 53 pixels per column... probably based on some LPD8806 LEDs you were planning on getting. Instead, let's say you went with the linked LEDs and used 1.7m (very close to 66 inches) which would (for the linked LEDs) be a total of 51 LEDs BUT only 17 logical pixels (there are 3 LEDs per controller IC, which makes one logical pixel).

So, now you have 17 logical LEDs per column, in a 6x9 matrix = 918 total pixels. This is still more than one AllPixel can do, but instead of 6 APs (doable, but performance would suffer) you can do it with only 2, which would be pretty easy.

Now... I can make life even easier for you! Checkout the doc for LEDMatrix: https://github.com/ManiacalLabs/BiblioPixel/wiki/LEDMatrix#__init__
Note the pixelSize argument.
For now, let's ignore the 2 AP issue as that's really handled by the drivers.

If you strung each column together in a serpentine pattern so that the entire display was one long connected strand (with power injected at various points in the middle of course) then BiblioPixel could simply see it as a (6x17) x 9 matrix. Or 102x9. Now you are probably thinking I'm nuts... that's not what you want, but let's got back to pixelSize. If in the LEDMatrix init you set pixelSize=(17,1) you are telling LEDMatrix that each pixel is actually 17 pixels. NOW, you can index the whole matrix as a 6x9 matrix and everytime you set a single pixel, it will actually set one of those 17 pixel columns to the same color.

Assuming that makes sense (and I'm happy to explain more) then we'll tackle the dual AllPixel issue next.


RE: AllPixels to drive a 6x9x53 array of LPD8806? - ghowles - 01-12-2017

Hey Adam,

Thanks so much for this detailed reply. It makes perfect sense, but I fear I led you astray with the diagram -- I wasn't planning to keep each strand the same color. I still want to make each LED separately addressable. (I only colored them that way so the rows and columns in the diagram would be clear. Without the color, it just looked like a mash of dashed lines.)

Effects I'm trying to program would include things like a point(s) of light bouncing around inside the cube; drops of light falling down each strip; a blue+green ball of light in middle with a ball of white light orbiting around it.

So, I think I do need all the lights separately addressable, but I'll also need a pretty decent refresh rate to communicate the sense of smooth motion. You mentioned that the 6 APs would have diminished performance. How bad do think it would be?