KITT style VU meter MAX7219

Greetings. I am new to arduino. I strated playing around with it last year. I want to make a Knight Rider Style VU meter using the 6, 10 segment Red LED bargraphs I have from a left over kit. I also have a MAX7219 from a DOT matrix that came with my Arduino starter kit.

I haven't found any online schematics or threads for how to get started with this project using an Arduino.

I'm looking for help. I've been told it's simple but haven't found where to get started.

Thanks cummunity
Rivers

How I hate these threads. Have you even tried the blink sketch?

Take it one step at a time...

  • Make some hardware that "reads" the audio signal (or the volume/loudness) and send the ADC reading to the serial monitor so you can track the loudness on your computer. There's more than one way to do this. I use a circuit called a "peak detector" to convert the audio peaks into a varying DC voltage. The peak detector makes thing "easier" on the microcontroller & software since you simply need to read the loudness 10 times per second or so, instead of "tracking" the waveform at audio frequencies.

  • Write some code that blinks the LED with the sound... Turn on the LED when the sound is above some threshold and off when it's below the threshold. Or... I've made a simple effect that compares the loudness to the moving average. That will blink the LED to the music (or other sound) and the moving average makes it automatically adjust to volume changes.

  • Then, add a few more LEDs each with different thresholds to get something like a bargraph VU meter. I wouldn't try making a matrix yet... Just put each LED on it's own output pin.

  • You might want to add some delays to get something more like meter movement with less LED "flicker". About 100mS (1/10th) of a second between state-changes is a good starting point.

  • For the KITT effect, you need to understand binary numbers (or "bit patterns") and [u]bit shifting[/u], and the other various bitwise operations. Each bit in the variable will represent the on/off state of one LED. You can start by creating and bit-shifting various patterns without audio activation. And again, I'd start with directly-connected LEDs before using a matrix. When working with binary numbers it will be easier to hexadecimal (base 16) than decimal... You can learn to convert between binary and hex in your head with numbers of any size... Converting between decimal and binary isn't so easy... You can use binary directly in an Arduino sketch but it gets messy and difficult to read when you get over about 8 bits.

  • When you make your matrix, just write some code to "address" individual LEDs and learn to on/off any particular LED in the matrix under software control (with no tricky sequencing or audio control).

  • When you have all of these parts working, you can put everything together in your final design.

using the 6, 10 segment Red LED bargraphs I have from a left over kit. I also have a MAX7219 from a DOT matrix

I think wiring these bargraphs as a matrix is going to be a freekin' wiring nightmare! If you make a PC board (and you don't make any errors) it shouldn't be too bad, but I think breadboarding/prototyping is going to be a mess.

I built a somewhat similar project with 24 LEDs on the left & right channels and I used 3 8-port LED drivers on each side (no matrix). The LED drivers I used are serially controlled like your matrix-drivers. Serial control "fits well" with bit-shifting, since variable is shifted-into the driver.

With 60 LEDs, you'll need to store the bit-states in two type unsigned long (32-bit) variables.