1M-WS2812B-60Pixel-Led-strip-light-RGB

1M WS2812B 60Pixel Led strip light RGB No-waterproof 5V Individually Addressable

actual ebay link:
http://www.ebay.com/itm/1M-WS2812B-60Pixel-Led-strip-light-RGB-No-waterproof-5V-Individually-Addressable-/401008735596?hash=item5d5dfbb56c

ok, my question is this.. so, say i cut 12 sections of 4 and layer them in rows 1 under the under like this:

XXXX

XXXX

XXXX

XXXX

XXXX

and so on until there is 12 rows.. how do you connect them all together so that you can individually address each one? and then there is the coding part.. but right now i'm stuck on the wiring them and connecting them to the arduino part.

coding questions will come later..

They all get daisy chained, Dout to Din, one chip to the next.
Then use the Adafruit Neopixel library to control them.

Power with an external wallwart, as all on at full bright could draw 60mA x 60 WS28212B = 3.6A.
I have on my desk right now a clock made by LarryD, 4 strips of 15 WS2812B each, all connected head to tail, running a program on a Promini to read time from an RTC module and show the time. Very nice.

You have two options. Either like this:

>>>>
>>>>
>>>>
>>>>

Or like this:

>>>>
<<<<
>>>>
<<<<

The first option will make the wiring slightly less easy, because the data-out wires from each row will have to go back along the strip to the data-in on the next row.

The second option makes the wiring a little easier, as the data-out wire from one row just goes a short way down to the data-in on the second row. However, this way does make your sketch slightly more complicated, because you have to reverse the column numbers in the alternate rows.

Paul

PaulRB:

>>>>
>>>
>>>
>>>

Paul

that way..

In that case your leds will be numbered like this:

Arduino-00-01-02-03
                04-05-06-07
                08-09-10-11
                12-13-14-15

and you must connect data-out of 03 to data-in of 04, data-out of 07 to data-in of 08 and so on. For 5V and 0V, connect them any way you like, as long as each strip has both connections.

For example: 8 x 3 matrix

Or 8 x 10, with two RGB shields of 8 x 5

TFTLCDCyg:
For example: 8 x 3 matrix

Any reason to run the power the long way back along each row?

Yep: get this specific pixel-order in the final matrix

  0   1   2   3   4   5   6   7
 8   9  10  11  12  13  14  15
16  17 18  19  20  21  22  23

How does this matter for the power connections?

Why not just using a classic serpentine (aka "zig-zag") layout?

The general XY-mapping is this:

//
// Mark's xy coordinate mapping code.  See the XYMatrix for more information on it.
//
uint16_t XY( uint8_t x, uint8_t y)
{
  uint16_t i;
  if( kMatrixSerpentineLayout == false) {
    i = (y * kMatrixWidth) + x;
  }
  if( kMatrixSerpentineLayout == true) {
    if( y & 0x01) {
      // Odd rows run backwards
      uint8_t reverseX = (kMatrixWidth - 1) - x;
      i = (y * kMatrixWidth) + reverseX;
    } else {
      // Even rows run forwards
      i = (y * kMatrixWidth) + x;
    }
  }
  return i;
}

If kMatrixSerpentineLayout is always true, the code is even shorter (and faster).

Helmuth