I'm building a project using an Uno with 7 WS2812B 60LED/m strips and 3 WS2812B 144LED/m strips. All 7 of the 60 LED/m strips occupying PINs 0-6 work correctly and one of the 144 LED/m strips in PIN 7 works, however the other two 144 LED/m strips don't. It doesn't matter which of the 3 that I plug into PIN 7 it'll work and the other two won't no matter what PINs they're connected to. I also tried with a different Uno board and I'm getting the same results. Can someone please explain to me why this is happening, I'm assuming it has to do with the hardware ie Arduino because I believe there's nothing wrong with my code. Here's the code I'm using:
#include "FastLED.h"
// STRIPS SECTION
#define NUM_LEDS_STRIP 20
#define NUM_LEDS_FULL 20
#define NUM_LEDS_LONG_STRIP 60
// SHELF SECTION
#define DATA_PIN7 7
#define DATA_PIN8 8
#define DATA_PIN9 9
#define LED_TYPE WS2811
#define COLOR_ORDER GRB
#define NUM_LEDS_SHELF 15
// STRIP SECTION
CRGB ledsStrip0[NUM_LEDS_STRIP];
CRGB ledsStrip1[NUM_LEDS_STRIP];
CRGB ledsStrip2[NUM_LEDS_STRIP];
CRGB ledsLongStrip[NUM_LEDS_LONG_STRIP];
CRGB ledsFull0[NUM_LEDS_FULL];
CRGB ledsFull1[NUM_LEDS_FULL];
CRGB ledsFull2[NUM_LEDS_FULL];
// SHELF SECTION
CRGB ledsShelf0[NUM_LEDS_SHELF];
CRGB ledsShelf1[NUM_LEDS_SHELF];
CRGB ledsShelf2[NUM_LEDS_SHELF];
void setup(){
delay(1000);
// STRIPS SETUP SECTION
FastLED.addLeds<NEOPIXEL, 0>(ledsStrip0, NUM_LEDS_STRIP);
FastLED.addLeds<NEOPIXEL, 1>(ledsStrip1, NUM_LEDS_STRIP);
FastLED.addLeds<NEOPIXEL, 2>(ledsStrip2, NUM_LEDS_STRIP);
FastLED.addLeds<NEOPIXEL, 3>(ledsLongStrip, NUM_LEDS_LONG_STRIP);
FastLED.addLeds<NEOPIXEL, 4>(ledsFull0, NUM_LEDS_FULL);
FastLED.addLeds<NEOPIXEL, 5>(ledsFull1, NUM_LEDS_FULL);
FastLED.addLeds<NEOPIXEL, 6>(ledsFull2, NUM_LEDS_FULL);
// SHELF SETUP SECTION
FastLED.addLeds<LED_TYPE,DATA_PIN7,COLOR_ORDER>(ledsShelf0, NUM_LEDS_SHELF).setCorrection(TypicalLEDStrip);
FastLED.addLeds<LED_TYPE,DATA_PIN8,COLOR_ORDER>(ledsShelf1, NUM_LEDS_SHELF).setCorrection(TypicalLEDStrip);
FastLED.addLeds<LED_TYPE,DATA_PIN9,COLOR_ORDER>(ledsShelf2, NUM_LEDS_SHELF).setCorrection(TypicalLEDStrip);
// SET STRIPS
fill_solid(ledsStrip0, NUM_LEDS_STRIP, CRGB::Green);
fill_solid(ledsStrip1, NUM_LEDS_STRIP, CRGB::Red);
fill_solid(ledsStrip2, NUM_LEDS_STRIP, CRGB::MidnightBlue);
fill_solid(ledsLongStrip, NUM_LEDS_LONG_STRIP, CRGB::MidnightBlue);
}
void loop(){
delay(1000);
fill_solid(ledsFull0, NUM_LEDS_FULL, CRGB::Red);
fill_solid(ledsFull1, NUM_LEDS_FULL, CRGB::Green);
fill_solid(ledsFull2, NUM_LEDS_FULL, CRGB::Blue);
// SET SHELF
fill_solid(ledsShelf0, NUM_LEDS_SHELF, CRGB::Green);
fill_solid(ledsShelf1, NUM_LEDS_SHELF, CRGB::Green);
fill_solid(ledsShelf2, NUM_LEDS_SHELF, CRGB::Green);
FastLED.show();
delay(700);
}
If I remove the one strip from PIN 7 and connect the other two into the PIN even for a second they turn on and hold their color until being powered off. Since I don't mind all three having the same color, well not ideal but also not the end of the world at this point since I'm about to hit my head against the wall trying to get this thing finally finished, would it be best just to order a JK and cycle through them? Thank you for any suggestions.

