Datasheet
rotated 180 degrees. This is intentional and by design; it keeps the tile-to-tile wiring more consistent and simple. This
rotation is not required for NEO_TILE_PROGRESSIVE.
Tiles don’t need to be square! The above is just one possible layout. The display shown at the top of this page is three
10x8 tiles assembled from NeoPixel strip.
Once the matrix is defined, the remainder of the project is similar to Adafruit_NeoPixel. Remember to use
matrix.begin() in the setup() function and matrix.show() to update the display after drawing. The setBrightness() function
is also available. The library includes a couple of example sketches for reference.
Other Layouts
For any other cases that are not uniformly tiled, you can provide your own function to remap X/Y coordinates to
NeoPixel strip indices. This function should accept two unsigned 16-bit arguments (pixel X, Y coordinates) and return an
unsigned 16-bit value (corresponding strip index). The simplest row-major progressive function might resemble this:
That’s a crude example. Yours might be designed for pixels arranged in a spiral (easy wiring), or a Hilbert curve.
The function is then enabled using setRemapFunction():
RAM Again
On a per-pixel basis, Adafruit_NeoMatrix is no more memory-hungry than Adafruit_NeoPixel, requiring 3 bytes of RAM
per pixel. But the number of pixels in a two-dimensional display takes off exponentially…a 16x16 display requires
four
times
the memory of an 8x8 display, or about 768 bytes of RAM (nearly half the available space on an Arduino Uno). It
can be anywhere from
tricky
to
impossible
to combine large displays with memory-hungry libraries such as SD or ffft.
Gamma Correction
Because the Adafruit_GFX library was originally designed for LCDs (having limited color fidelity), it handles colors as
16-bit values (rather than the full 24 bits that NeoPixels are capable of). This is not the big loss it might seem. A quirk of
uint16_t myRemapFn(uint16_t x, uint16_t y) {
return WIDTH * y + x;
}
matrix.setRemapFunction(myRemapFn);
© Adafruit Industries https://learn.adafruit.com/adafruit-neopixel-uberguide Page 51 of 68