I'm working on a project with WS2812B LEDs. I want the following code to be as close to instant on as possible. Right now it is very visible that one LED is coming on at a time. The idea is to use a MSGEQ7 as a VU meter or sorts. In the end this will be stage lighting for a band that I help with. The code will have different modes. The one I want first is to start from the middle of the strip and expand out in both directions based on the db of a given frequency. Lighting up an amount of LEDs based on the value from the MSGEQ7 and the rest to be another color or off. I have something sort of working but it is very slow and it's because the LEDs are very slow with the following example code.
#include <FastLED.h>
#define LED_PIN 12
#define NUM_LEDS 150
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];
void setup() {
// put your setup code here, to run once:
LEDS.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);
}
void loop() {
for (int i; i < NUM_LEDS; i++){
leds[i].setRGB(0, 0, 255);
FastLED.show();
}
}