HELP! Need to do 200 leds for NUM_LEDS_PER_STRIP using parallel FastLED on Teensy 4.1

Status
Not open for further replies.
I have 8 ALITOVE 50-led WS2811 strings connected for a total of 400 leds. I was using an Arduino Due with fastled and was able to do a fastled.show() to all 400 with no problem. I just purchased a teensy 4.1 and used the code shown below written by Chemdoc77. Sketch works fine as long as i keep NUM_LEDS_PER_STRIP below 71. How can I increase to 200! Do I need to change the WS2811 chipset definition in the FastLED library? Please help me! I really need the processing power of the Teensy 4.1!

My final project will have 1400 leds. To maintain my 100 fps, I plan to use pins 19,18,14,15,17,16,22 to do 7 parallel outputs to each of the sequential 200 led sections of the 1400 led string.

I'm using Arduino IDE 1.8.13 with FastLED 3.3.3 For this "1 strip" example pin 19 is connected to the WS2811 data line through a 470 ohm resistor.

SKETCH:

#include <FastLED.h>

#define DATA_PIN 19 // it is critical that you use this pin number or other pin numbers using FastLED's Parallel Output procedure

#define NUM_LEDS_PER_STRIP 70
#define NUM_STRIPS 1

CRGB leds[NUM_LEDS_PER_STRIP * NUM_STRIPS];

void setup() {

FastLED.addLeds<NUM_STRIPS, WS2811, DATA_PIN >(leds, NUM_LEDS_PER_STRIP);
FastLED.setBrightness(70);
}
void loop() {

fill_solid( leds, NUM_LEDS_PER_STRIP, CRGB::Red);
FastLED.delay(1000);
fill_solid( leds, NUM_LEDS_PER_STRIP, CRGB::Black);
FastLED.delay(500);
}
 
Glad you got it working. Just curious, what was wrong?

FWIW, I was going to try this tonight using FastLED's OctoWS2811 driver....
 
Thanks for the reply! I'm a little embarrassed that I didn't notice that there was no FastLED.show(). Not sure how it was displaying without it, but I made the changes to the loop as shown below and works fine. Updated .addLeds in my previous large program and kinda works, so I may be doing another post if I can't get it working right. Hey thanks again, Paul, for responding so quickly and your willingness to help!

// Test2
#include <FastLED.h>

#define DATA_PIN 19 // it is critical that you use this pin number or other pin numbers using FastLED's Parallel Output procedure

#define NUM_LEDS_PER_STRIP 400
#define NUM_STRIPS 1

CRGB leds[NUM_LEDS_PER_STRIP * NUM_STRIPS];

void setup() {

FastLED.addLeds<NUM_STRIPS, WS2811, DATA_PIN >(leds, NUM_LEDS_PER_STRIP);

FastLED.setBrightness(40);
}

void loop() {

fill_solid( leds, NUM_LEDS_PER_STRIP, CRGB::Red);
delay(1500);
FastLED.show();

fill_solid( leds, NUM_LEDS_PER_STRIP, CRGB::Black);
delay(1500);
FastLED.show();
}
 
Status
Not open for further replies.
Back
Top