Hello
I’m from Russia, so excuse me for my English.
Here all are very fond of glowing objects. And I decided to share our project with a signal level indicator. It is made on light-emitting diodes WS2812V and microcontroller ATmega328. But the project did not use the FastLED library. The video shows the prototype of the indicator. It is possible to adjust the indicator modes. https://youtu.be/mLCGU4dn8zc
@Garreth_Tinsley Thank you, we tried
Scheme connecting the audio signal was used such as in the picture. But in order to avoid flicker, it was necessary to do software filtering of the incoming signal. And for each mode, you can adjust the rate at which the indicator level changes. The video shows the modes with the lowest speed. missing/deleted image from Google+
@Nikita_Ogonek Do you have a photo of the separate acrylic layers that make up the two signal indicators? What do the parts look like before being stacked together?
@Nikita_Ogonek okay, I did try some basic averaging and was looking at moving averages, or similar. Did you use low/hi pass? What was the mathematical filtering scheme you applied in software?
@Garreth_Tinsley At the hardware level, we have provided a low-pass filter. But without it, the indicator worked better. Therefore, all the filtering was done at the software level, and the filtering was double.
We used filtering by the moving average method, only accumulating not values but squares of values. The buffer size is N = 32 values.
We have provided two options for displaying the signal on the indicator. The first is the root-mean-square value: CurrentValue = SQRT (SUM (Vi ^ 2) / N)
(it is shown in the video). And the second is the decimal logarithm of the root-mean-square value: CurrentValue = LOG10 (SQRT (SUM (Vi ^ 2) / N)) (It seems to be closer to human nature, but it was not so dynamic, so it’s not on the video).
And the second software filter is a smooth rendering. The indicator is updated every 5 ms. In this case, for 5 ms the level can not change by more than 1 LED (this filter is shown in the video). You can also create a mode without this filter, that is, the level of the column after 5 ms will change immediately to a new value. And a compromise option: after 5 ms the level will change only by 50% of the desired value.
I hope that at least somehow I was able to help you
@marmil Unfortunately, there was only a photo of the first prototype. The video uses a later version with a double base (two layers of acrylic) and an additional front layer of acrylic in the form of a grill for better light scattering. missing/deleted image from Google+