First time using WLED and so far it has been easy peacy to set up! Great job to whoever is behind the project!
Since I am new at this I am having trouble with the lingo, so I can’t seem to find my answers via a search. I found a post here that speaks about “groups”, but I can’t find any setting that allows me to set up groups.
I have 6 rings/circles with 16 RGB LEDs on each ring. Some effects look pretty cool, but others not as much.
What I think I want is a way to set up 6 groups of 16 so that I can have the 6 rings doing the same thing. But now that I think about it a bit more, for some effects the grouping wouldn’t make sense. For example my step daughter favorite effect thus far is the chase rainbow, so all 6 rings are lit up at the same time, but with different colors, which I like. But for other effects, like for example the Android one, instead of it lighting up one ring at a time I would like all 6 rings to be light up doing the android effect. Is this possible?
Thank Jinx, so segments are like groups then? I did set up segments, but all were 0 to 16. Will try to set them up as you suggested.
Now the segment numbers are confusing me a bit. Right now I have it set up 0 to 96 for a total of 96 leds, but why 0 to 96 and not 1 to 96? 0 to 96 is actually 97 numbers (I have a bit of background in programming so I do count 0 as a number).
Also the segments you suggested I create 0 to 16, then 16 to 32, 32 to 38… Doesn’t that end up putting 16 in two groups/segments, as well as 32, 48, etc? Is that on purpose so the last light on segment 0 lights up at the same time as the first LED on segment 1?
You have a total of 96 LEDs
They take up addresses 0 through 95 So yes you are correct with 0 being a value.
Segments are not really groups they are sections of that full 96 LEDs that still allow them to be individually controlled. It just splits them so that whatever effect does not continue along that full amount of 96, but rather lets sections act in sort of a parallel, but also letting you apply different effects to each segment if you so choose.
It does not matter how many data GPIO ports you use on the controller, WLED addresses all of the LEDs in sequential order. The software calculates what GPIO to send what data to.
Groups in WLED are when you want to group a number of individual LEDs so they act as 1 LED. If you set your grouping to say 3; you would then have 3 LEDs that act as 1.
You are creating segments based on all of your LED numbers.
Segment 0 is 0 to 16 because WLED is not including that last value. It is labeled as the ‘stop LED’ Meaning that it has stopped there and is not included in the segment.
Segment 1 now needs to start at LED 16 because you already have LEDs 0 through 15 in segment 0
Segment 2 starts at LED 32 because Segment 1 used 16 through 31 and segment 0 used LEDs 0 through 15.
and so on…
If you put all the segments as 0 to 16 all of them would be trying to control LEDs 0 through 15 and would look like a mess of overlapped data.
In addition to @jinx’s (excellent) response, there are some more fine details you can use with grouping.
Normally you might want a grouping like 2 Red, 2 Green, and 2 Blue → RR,GG,BB, (3 groups of 2 LEDs) or perhaps the 1st 48 grouped and then the last 48 grouped (2 groups of 48).
It’s also possible to do Groups of LEDs that are spaced, ie. they have a gap between them rather than being side by side.
That lets you do things like R-G-B-R-G-B-R-G-B-R-G-B and have an effect apply only to the Red LEDs.
Thank you divsys. I have taken a few minutes to do a bit more research and understand how it works. I was afraid that if I used “segments” it would break some effects that work well without them, and vice versa.
Using the chasing rainbow as an example, without segments the different rings have different colors at all times. I was afraid that if I set up the segments, then ALL 6 rings would be the same.
The key is presets! I can have some presets, (ie rainbow chase) that work without segments, and then have other presets that do work with segments.
That means I can convert the generic effects to my specific needs without having to stick to all with segments or all without segments.
The led numbering was still throwing me off, and would have had a hard time finding the answer on my own. I don’t really need to know the “why” but I do now understand that 0 to 16 counts 0 as my first LED and 15 as my last LED.
The numbering issue is a consequence of computers/computer languages/digital data.
The basic issue is that “0” is just another number to a computer.
Humans like to think of 0 as being “nothing” or having none.
When you use computers to do your counting, the simplest way to start is to reset your “counter” to 0 (all “bits” off). That means when you start counting you start at 0 rather than 1. I know it gets confusing, but you’ll find that you can translate pretty quickly after playing with it for a while.
Another tip when using segments with presets, use the “Checked segments only” option along with unchecking “Save segment bounds”. That will let you create presets that change only one segment at a time rather than all that you are displaying.
Divsys, I actually do have a bit of experience with computer programming, which is why I find it a bit confusing. In binary you have TWO values 0 and 1.
With my computing background I could understand 0 to 15 is used to address 16 actual LEDs, where 0 controls LED number 1, 1 controls LED number 2, etc.
What I don’t understand very well is why in order to create a segment of 16 leds the segment is actually 0 to 16, where you are actually dressing 17 LEDs.
Jinx mentioned the “16” of the segment is the “stop” LED. That is why if I wanted to create different segments of 16 leds each it would be 0 to 16 for the first segment (segment 0) then 16 to 32 for the second segment, etc.
So the way I read it, 16 would be last LED on the first segment, and also the first LED on the second segment. I would have assumed that if I only want to light up LED number 16, it would light up last led of first segment and 1st LED of second segment.
I understand Jinx explanation, 16 is the ‘stop’ led of first segment, so basically it is not part of the 1st segment, So if I want to light up 16, it would actually light up the 17th led on the strip, which happens to be the first LED of the second segment. That is what I mean based on Jinx response I know how to use segments, without understanding why it wouldn’t be 0 to 15 for frist segment, 16 to 31 for the 2nd segment, 32 to 47 for the next segment, etc.
Yah that terminology is not particularly great.
The way I treat those numbers:
Start - starting LED index (0-based)
Stop - translate to Start+Total count of LED’s in this segment.
There is an option under “Config->User Interface->UI Appearance” to "Set segment length instead of stop LED. This just changes the GUI to let you use an actual count of LEDs in a segment rather than the “Stop index” so things look “cleaner”.
The downside of that is when you’re playing with a complicated set of 5 (or more) segments inside the main strip, you end up doing a bunch of math to figure out where you are.
The Stop technique makes it simpler for consecutive segments.