Two matrix one board problem,

not sure how to make this work with two different matrice, this works with 1 board and need to make it for 2 and I am lost on how to do this. have this code so far.

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
 
#define PINA 10
#define PINB 12 
// MATRIX DECLARATION:
// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
//   NEO_MATRIX_TOP, NEO_MATRIX_BOTTOM, NEO_MATRIX_LEFT, NEO_MATRIX_RIGHT:
//     Position of the FIRST LED in the matrix; pick two, e.g.
//     NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
//   NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
//     rows or in vertical columns, respectively; pick one or the other.
//   NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
//     in the same order, or alternate lines reverse direction; pick one.
//   See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
 
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(32, 8, PINA,
                              NEO_MATRIX_BOTTOM     + NEO_MATRIX_RIGHT +
                              NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
                              NEO_GRB             + NEO_KHZ800);
 
const uint16_t colors[] = {
    matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(255, 255, 0), matrix.Color(0, 0, 255), matrix.Color(255, 0, 255), matrix.Color(0, 255, 255), matrix.Color(255, 255, 255)
};
 
Adafruit_NeoMatrix matrix2 = Adafruit_NeoMatrix(44, 22, PINB,
                               NEO_MATRIX_BOTTOM     + NEO_MATRIX_RIGHT +
                               NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
                               NEO_GRB             + NEO_KHZ800);
 
const uint16_t colors[] = {
    matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(255, 255, 0), matrix.Color(0, 0, 255), matrix.Color(255, 0, 255), matrix.Color(0, 255, 255), matrix.Color(255, 255, 255)
};
 
void setup() {
    matrix.begin();
    matrix.setTextWrap(false);
    matrix.setBrightness(5);
    matrix.setTextColor(colors[0]);
}
 
int x     = matrix.width();
int pass = 0;
 
void loop() {
    matrix.fillScreen(0);
    matrix.setCursor(x, 0);
    matrix.print(F("Test"));
   
    if (--x < -30)
  {
        x = matrix.width();
     
        if (++pass >= 8) pass = 0;
        matrix.setTextColor(colors[pass]);
      
  }
    matrix.show();
    delay(30);
}```

Well, you created a 'matrix2' but in your code, you don't use it at all. Obviously, you have to do the same things with matrix2 as you did with matrix. So,

void setup() {
    matrix.begin();
    matrix2.begin();
...

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.