s-marley / ESP32_FFT_VU

A spectrum analyzer VU meter for the ESP32 and a FastLED matrix
Other
274 stars 67 forks source link

ESP32 64 channels #15

Closed jeurgenK closed 1 year ago

jeurgenK commented 1 year ago

Hi Scott, How are you?

I would like to use the 64 channels. However, the EXCEL list does not help me any further. Do you have any idea ? How should the grading be done? With 32 channels, it looks very nice.

Greetings from Cologne Juergen

s-marley commented 1 year ago

Hi Juergen,

I have updated the spreadsheet to support up to 64 bands. I have no idea if that will work however! With 64 bands, you will see that many frequencies end up in the same bin. To get around this, we nee to increase the number of samples. However, this will slow the update rate of the display. You will have to experiment and see what happens.

Best wishes, Scott.

jeurgenK commented 1 year ago

Hi Scott,

First of all, thank you very much for your quick answer. I hope my English is understandable because I have the language translated. The 64 tapes is just "just for fun". With 32 bands it works for me. 64 ribbons with 2 rows each is nice too. This is supposed to be for my party room. 8 ESP32 with 127 WS2812b LEDs each are already working on the basement ceiling. That's where I wanted to use this new light game. What should I do to increase the update rate? It is worth a try. To increase the speed I switched the program to I2S read. I will tell you. I had already changed the table and also recognized the problem of the same samples. Thank you for your support.

To connect more than one 16x16 matrix I used the Fastled assignment from

FastLED_NeoMatrix *matrix = new FastLED_NeoMatrix(leds, kMatrixWidth, kMatrixHeight, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG + NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS);

after

FastLED_NeoMatrix *matrix = new FastLED_NeoMatrix(leds, kMatrixWidth, kMatrixHeight, NEO_MATRIX_BOTTOM + NEO_MATRIX_RIGHT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG + NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS);

changed. For me, 4 times 16x16 LED matrix work without further changes to the program and the order is correct.

And another change from me more than one band per frequency. Old :

define BAR_WIDTH (kMatrixWidth / (NUM_BANDS - 1))

New:

define BAR_WIDTH (kMatrixWidth / (NUM_BANDS))

Best wishes, Jurgen.

jeurgenK commented 1 year ago

HI Scott, thank you very much for your help. I will test something else. Greetings from Cologne Juergen