Blink Without Delay with addressable RGB LED

I am trying to figure out how to get the Blink Without Delay from the Arduino examples page, to work with my Addressable Through-Hole 8mm RGB LED with Diffused Lens, WS2811 Driver. The problem I am having is with the int ledState = LOW; part of the code. Since I am using an addressable LED that does not just have a HIGH/LOW signal being sent to it, I don’t know how to write the code to suite my needs. I am using multiple LEDs, all controlled with different switches, so if I use the delay function, it causes problems with the rest of the circuit.

Thanks for the help.

[code]// constants won’t change. Used here to
// set pin numbers:
const int ledPin = 13; // the number of the LED pin

// Variables will change:
int ledState = LOW; // ledState used to set the LED
long previousMillis = 0; // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 1000; // interval at which to blink (milliseconds)

void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
}

void loop()
{
// here is where you’d put code that needs to be running all the time.

// check to see if it’s time to blink the LED; that is, if the
// difference between the current time and last time you blinked
// the LED is bigger than the interval at which you want to
// blink the LED.
unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;

// if the LED is off turn it on and vice-versa:
if (ledState == LOW)
  ledState = HIGH;
else
  ledState = LOW;

// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);

}
}[/code]

Hello.

It looks like you are not using our Arduino library for our addressable RGB LED strips, which is also compatible with the addressable RGB LEDs that you mentioned and can be found under the “Resources” tab of that LED’s product page. Since the “Blink Without Delay” example simply uses an ledState variable to toggle an LED using digitalWrite, you will need to modify it to work with our library. For example, instead of using digitalWrite, you might try using the ledState to determine what to set the RGB values to (if they are all set to 255, the LED will be at full brightness and all zeros will turn the LED off). Then, once the RGB values are set, you can use the library’s write command to update the LEDs. I recommend reading the GitHub page for the library (particularly the “Library Reference” section) to get familiar with it. You might also try looking at the “LedStripGradient” example to see how you can use the library to set the RGB values for your LEDs. Please note that the example code defines “LED_COUNT” as 60, so you can modify this to the number of LEDs you are chaining together.

If you try incorporating our library into your code and run into a problem, you can post what you have tried, and I would be happy to take a look.

-Brandon