Help with addressable rgb matrix

I'm new to Arduino and have a ton of questions over a project I'm working on. I need to make a matrix in the shape of a half circle not a square. Is there any easy way to remap some of the leds or something to that effect so that I can use it with a programer like glediator or something similar?

The wall I can't get passed is if they are all wired in series, and I define it as let's say a 10 by 10 matrix then none of they animations will look right because there will be less than 16 leds on every row but the top row to make the half circle.

I also was curious as to why most matrix examples I can find online use a capacitor before the arduino and a resister after even when they use a 5v power supply which both the arduino and leds are rated at.

Any suggestions are appreciated

thanks

the resistor limits in rush current, and the capacitor help smooth out the voltage to prevent voltage drops from changes in current.

I am assuming you are using ws2812b panel? There is no way to skip pixels.... but you could define an array which contains an index of the leds you want to control.

I'm actually using ws2811 driven leds. They're the kind that are not on a plastic board. It's just wired leds. So is there a way to essentially shift one row of pixels to make the animation line up? I'm thinking that I would need to find a way to do so in the Arduino sketch itself and not in glediator or led edit etc. My thought on that was if each led was named or had a variable addressed to it I could offset it to account for that error right?

Can you post a picture of what you have?

Sorry about the wait I wanted to throw together a diagram of the problem and just had time to. The leds I'm using are ws2811 driven here is a link to the amazon page if you need more than the picture I included. I'm also attaching a .pdf of the layout and the problem that I know I'm going to run into. Wiring direction is noted by the white lines. Thanks

amazon link for leds:

led matrix.pdf (815 KB)

ok.

I’m not too familiar with glediator, but, if you just assume what you actually have is a square, then you can easily use glediator.

you could have two arrays, one for the glediator square array and one for the led array

for(int i = 0; i < sizeof(glediator); i++){
  if(i <= 29) {
     leds[i] = glediator[i]; //first two rows are the same
  }
  else if (i >= 31 && i <= 43) {
     leds[i-1] = glediator[i]; // Third row, subjtract one because the first pixel of the glediator screen isn’t there in the led display
  }
  else if(i >= 47 && i <= 57) {
     leds[i-4] = glediator[i]; //fourth row, there are three new glediator pixels not used in the led panel, plus the one from the start of row three
  }
  else if(i >= 63 && i <= 71) {
     leds[i-9] = glediator[i];
  }
  else if(i >= 80 && i <= 84) {
     leds[i-17] = glediator[i];
  }
}

The above code reads the glediator code, ignores the pixels that the led array doesn’t have, and then applies an offset by subtracting the non existent pixels from to glediator array to get the corrrect position in the led strip. You might have to nudge a few of the numbers but i think i got it right.

Then, you can just update the glediator array, then call this function right before you write the led array out.

I will definitly give this a try. It might be a while untilI i get a chance to get the rest of the project figured out and part shipments to come in. I really appreciate it. Thanks.

i am trying to do a similar project, did you have any luck with the animation process ?