Array question

Are you using the arduino pins directly, if so you have not set the pinMode for them in the setup() function.

He's got the IO pins taken care of in setup:

pinMode(ws2803_clockPin, OUTPUT);
  pinMode(ws2803_dataPin, OUTPUT);

The arrays you quoted are only data that will be shifted out.

Oh, ok. I will delete my last post.

But that still leaves which 3 LEDs are not coming on.

They come on and cycle through the red,green and blue but then those three just stay blue, they are: 1st ws2803 pin 14 'out8' 2nd ws2803 pin 8 & 18 'out 2 & out 12 Before adding for(wsOut=11;wsOut>0;wsOut--) at the end of the blue cycle they all stayed blue.


Did you fix this one? wsOut>0

to be

wsOut>=0 otherwise you only get 11 down to 1, and 0 is never sent out.

You sir are simply the best!! That fixed it.

Thanks all, Derek

battleshy: Ty guys got the arrays fixed. I'd ask what was wrong with the delays but you don't want to talk about them so I wont ;) .

I don't at this time because it's more than a little and I'm not sure that you're ready for a new-to-you way to look at how code should work.

If you want a peek with a simple example and clear commonsense explanation, here's a start from Nick Gammon:

How to do multiple things at once ... like cook bacon and eggs

The loop() goes round and round, sometimes when not much happens 50,000 times a second or more if you let it. Sometimes something happens in the code or on a pin or time elapses to where something is ready and then done. That is what event-driven code is about. That is what microcontrollers were made for. Nick explains blocking and what it does, it stops tasks from working together. Don't block, don't delay, let everything run as it can and will. And he starts that day with a good breakfast.

I have the 2 ws2803 cycling through 5 colors then lighting up one led ‘pin’ at a time for each of the 5 colors I’m using, then random picking 3 leds ‘pins’ to turn on then off, then lighting the red then blue leds ‘pins’, and finally, lighting a random led ‘pin’. It’s only just over 4 byte long when I compile it. Can’t tell you guys how much I appreciate you thanks for all the help.
Going to take GoForSmoke advice and tone down the delays next.


If you only shorten the delays, those leds will flash so fast you might not see them.

Time based code is a little next-level trickier than that but it delivers benefits in what you can do without writing deeply nested code and reliance on interrupts.

Start with Nick's blog. Copy the example code into your IDE, run it and mess with it till you know what every part does and how it works just to be solid on the fundamentals. Not knowing fundamentals is what catches so many people even on simple things.

I swapped the Arduino uno for an Attiny 85, here is a video.


Bravo! Especially for switching to the Tiny85!

Have you plans to get it off the breadboards as well?

Yep, and adding a few more ws2803, I have a pack of 100 rgbs, I'm just waiting on the post man for the 10 ws2803 I ordered today.