I am planning on having a 24 x 20 LED matrix that have common cathodes along the rows, and common anodes up the columns each column has to refresh 25 times a second, multiply by 24 (because of the columns) that equals 600 pulses a second, the time that each column is on is 1 second/600 pulses that equals 1.67milliseconds. so each column is on for 1.67milliseconds as it progresses through the frequencies it steps to the next column in 1.67milliseconds.
41.5Hz, 53.8Hz, 69.8Hz, 90.5Hz, 117Hz, 151Hz, 196Hz, 253Hz, 328Hz, 424Hz, 549Hz, 710Hz, 917Hz, 1186Hz, 1532Hz, 1980Hz, 2559Hz, 3306Hz, 4265Hz, 5489Hz, 7050Hz, 9032Hz, 11631Hz, 14955Hz
I want the amplitude of the frequencies correspond to decibels, (3 decibels per LED's upwards) and I want the amplitudes to also correspond to the columns. And so for instance, when the column is at the 7th column (ie 196Hz) I want the amplitude for that frequency corresponds to the right column that is on at the time, so when say column 7 is on it might have an 18 decibel, so 6 LED's would be lit, then when it clicks over to column 8 that might have decibel of 6, (two LED's illuminated) and when it clicks over to column 9, that might have 22 decibels (it would light up seven LED's) how do I keep the amplitudes in sync with the columns? I have 1.67 milliseconds to process the sound frequency and to display it on the matrix how can I achieve this? any idea's welcomed and I will answer all questions to the best of my ability. I believe I have to utilise 74HC595 shift register to accomodate the 24 channels and I think I can use the rows to directly go through transistors to the the pins of the esp32 arduino.
I am not certain and am open to idea's I hope someone can understand the question. Can I maybe have a different method of doing this? or help me work with the method that I have come up with, I can't shift on the type of LED's that I'm using because I'm going for a certain "look" the leds are of the bar graph type with 10 flat LED's in each bar.