Project idea (LED strip that reads music and flashes to the music from Aux/mp3)

Hey there and thanks for any help with the Project Guidance!

Well to begin I’ve done a bit of research on this idea of mine, and I’m just looking for suggestions or if it is even possible to begin with.

I plan on making an Infinity Table. I made one before, but it was really simplistic in the approach I’m trying now. Originally a group of us made it by using a Arduino and connecting through a circuit board to LED string and used Python to program it. This version did not flash to music and only flashed in a sequence.

Now for the new project!
I plan on building the table but first i need help with the internal hardware. I have an Arduino Uno and a Maker Shed starting kit that has the wiring and resisters. I also have this LED strip with Controller .

Now this is where i need help! I want to know first if it is possible to connect the LED strip to the Arduino to the Controller system (Remote/Sensor) then allow that to play music to an external source like and Aux cable or stored music.

This task might be a bit much for the Arduino though. I have some code from different tutorials about how to get the Arduino to read the music and another to make the LED flash to the music. This is the fun/educational part for me since I’m trying to learn programming and combining and debugging the code will be interesting.

To anyone who read this thank you! and any help with the possibility of doing this project will be much appreciated!

tl;dr Making an Infinity table and want to know if it is possible to make the LED flash from an external audio source/controller.

You have to get/post more information about the way(s) to control the strips. Using IR control may not allow to address multiple strips individually. If a direct (bus) interface is available, what type is it, what voltage levels, which protocol…

Thanks! Should known i was missing a bunch of information ill be sure and put it up when i have a chance!

I also have this LED strip with Controller .

Are those red, blue, and green LEDs spaced-out so they can be chase-sequenced? The LEDs are not individually addressable, right?

I've done 3 sound activated lighting projects with the Arduino. They are all similar, but one runs 4 channels of AC floodlights (4 colors), one is 7-channels and it runs 8 strings of 7-lamp rope lamps in the ceiling of my van. The 3rd one is stereo with 2 x 24-channels running two "strings" of LEDs (each of the 48 LEDs is individually addressable via serial shift-register control).

All of these effects are activated by "loudness" (not frequency). I use a [u]peak detector[/u] to convert the audio signal into a varying DC voltage that follows the peaks. The RC time constant is about 1/10th of a second and I read the voltage about 10 times per second or faster. (With the peak detector I don't have to read the actual audio waveform at thousands of times per second.) The peak detector also throws-away the negative half of the waveform so you don't have to worry about negative voltages, which the Arduino can't handle.

I power the op-amp circuit with dual (positive and negative) power supplies so that the output of the peak detector goes all the way to zero (when there is no signal or a very small signal).

There are other ways of handling audio and the negative half of the waveform. The simplest solution is to bias the input to 2.5V with two equal-value resistors, and isolate the bias from your audio circuit with a capacitor.

...like and Aux cable or stored music.

Line level (or loud-headphone level) is about 1V, and that's about right. I switch automatically between the default 5V reverence an the optional 1.1V reference depending on what the ADC is reading. (You can't use the 1.1V ADC reference it you bias the input at 2.5V. ;) )

I also save a reading once per second in a 20 element circular buffer (see the smoothing example). I find the peak and average in that array/buffer once per second every time it's updated. Depending on the particular lighting effect, I use either the average or the peak as a software reference.

My simplest lighting effect sets-up a random pattern and then changes (or toggles) the state whenever the loudness is greater than average. This will also work with only one LED/light. There are two options, in one mode the LED is on whenever it's louder than average (or off when the logic is inverted) The other option/mode "flickers" the LED on & off when louder than average and then just stops and holds in the on or off state when below average.

I have a couple of different chase-sequencing effects. In general, I just throw-out a random pattern (neither all-on or all-off) and then I shift it left or right. Sometimes the speed is controlled by the loudness, and sometimes I change direction with the loudness (or approximate beat). The state of the LEDs is stored in a byte with each bit representing the state of one light/LED. Shifting simply is done by bit-shifting (and "rotating" which takes a couple of extra steps).

Here are a couple of examples of 4-channel bit-shifting... 1000 0100 0010 0001 1000....

Or the same thing with a different starting pattern... 1100 0110 0011 1001 1100....

There is also something called a Johnson Counter that looks like this... 0000 0001 0011 0111 1111 1110 1100 1000 0000....

I've got an effect that "injects" a zero of one into the start of the sequence depending on the loudness... If there is "lots of loudness" most of the LEDs are on as the patter sequences from one end to the other, and when it's quiet most (or all) of the LEDs are off as the sequence moves-through.

I've got a "bounce" or "ping-pong" effect, and a "Knight Rider" effect where there is constant back-and-forth motion, but the speed depends on loudness. There can be one or more LEDs/lights on at a time with any of these back-and-forth effects.

All of these effects (plus a couple more) run randomly, changing every minute or so to keep things from getting too boring.