@cskiwi69 It's largely ripped straight from the minim library FFT example code. The rest is all purpose built, and since replaced with properly written code for the rainbow and my particular setup, but basically it was just passing 16 values from the Processing sketch to the display, which the display figures out.
@ThreeFN Do you have a link to them on the website? I can't seem to find them. I'm trying to do a similar project and I already bought one matrix/backpack through sparkfun. I'm interested in the ones you are using however. Do they interface through SPI?
@chuckguy55 They're called rainbowduino's (can't post links, search the Seeed depot for them). They are based on atmega168's, so they can be programmed in arduino if you have a serial/uart/FTDI board handy.
They can be interfaced through the UART or through I2C (two wire). I use that interface since it's broken out on both sides of the board for easy daising. Have a read through all my descriptions for lots of info on my setup.
@ebikeofacookbook Mostly, I wanted something that 'danced' with sound, and didn't have to be perfect. This version used the computer for the audio grunt work, the microcontrollers just do displaying. Have a look at my latest video, I now do the spectrum calculations locally on the main arduino.
Keep in mind, everything has to be 'wearable' so the fewer components I need, the smaller the enclosure can be, and the more portable everything gets. If I can do software instead of hardware, so much the better.
I have access to 4096 colors through a combination of the three primary colors (red/green/blue). Each color can be set at a brightness of 0-15, giving you 4096 unique color combinations.
I describe in detail in the description, but I use Processing (the language) to playback the song. While it plays back, Processing does an FFT on the sound, and then it sends appropriate data over the USB Serial communication to the arduino. The arduino interprets then displays the data. Processing does most of the audio->visual gruntwork, the arduino is just doing the displaying.
Really? I'd prefer if I could run it locally on the arduino, but you just can't do very good audio ANYTHING on the arduino. The language isn't fast enough and the processor isn't fast/powerful enough. This is my rather hacky solution to the problem. The biggest problem is that the laptop is portable enough for the end game purpose of the portable, WEARABLE display. Maybe a UMPC could do it, but I don't have the cash for that any time soon.
Yah, Processing language does all the grunt work for me. The arduino's ADC and core clock aren't anywhere near fast enough for FFT. You might be able to get 5KHz samples from the arduino. Someone on instructables managed that, search led sprectrum analyzer or something like that.
I used the minim library in Processing. Basically hacked at the FFT example code to have a serial event send a buffer of 16 values from 0 to 23.
Awesome stuff !
Is it possible to get the source code of this?
cskiwi69 11 months ago
@cskiwi69 It's largely ripped straight from the minim library FFT example code. The rest is all purpose built, and since replaced with properly written code for the rainbow and my particular setup, but basically it was just passing 16 values from the Processing sketch to the display, which the display figures out.
ThreeFN 11 months ago
@ThreeFN
Ow, ok thanks anyway
cskiwi69 11 months ago
What a fantastic project. I'm actually building something similar at the moment (albeit smaller).
MattyHild 1 year ago
Cool project and very fitting music :P
NoqturnePL 1 year ago
Where did you get the LED matrices you're using?
chuckguy55 1 year ago
@chuckguy55 Both the actual matrices and the LED driver "backpacks" are from Seeed Studio.
ThreeFN 1 year ago
@ThreeFN Do you have a link to them on the website? I can't seem to find them. I'm trying to do a similar project and I already bought one matrix/backpack through sparkfun. I'm interested in the ones you are using however. Do they interface through SPI?
chuckguy55 1 year ago
@chuckguy55 They're called rainbowduino's (can't post links, search the Seeed depot for them). They are based on atmega168's, so they can be programmed in arduino if you have a serial/uart/FTDI board handy.
They can be interfaced through the UART or through I2C (two wire). I use that interface since it's broken out on both sides of the board for easy daising. Have a read through all my descriptions for lots of info on my setup.
ThreeFN 1 year ago
Really cool,
Im considering making something similar,
only I think Im going to use lots of filters to get the different parts of the spectrum :) doing it digitally seems hard
ebikeofacookbook 1 year ago
@ebikeofacookbook Mostly, I wanted something that 'danced' with sound, and didn't have to be perfect. This version used the computer for the audio grunt work, the microcontrollers just do displaying. Have a look at my latest video, I now do the spectrum calculations locally on the main arduino.
ThreeFN 1 year ago
@ThreeFN
Keep in mind, everything has to be 'wearable' so the fewer components I need, the smaller the enclosure can be, and the more portable everything gets. If I can do software instead of hardware, so much the better.
ThreeFN 1 year ago
Awesome!! I like..
can you have more colors ?
xergioslk 2 years ago
I have access to 4096 colors through a combination of the three primary colors (red/green/blue). Each color can be set at a brightness of 0-15, giving you 4096 unique color combinations.
ThreeFN 2 years ago
Have a look at some of my other videos and you can see the color range I can reproduce.
ThreeFN 2 years ago
By usb ? audio out?
xergioslk 2 years ago
I describe in detail in the description, but I use Processing (the language) to playback the song. While it plays back, Processing does an FFT on the sound, and then it sends appropriate data over the USB Serial communication to the arduino. The arduino interprets then displays the data. Processing does most of the audio->visual gruntwork, the arduino is just doing the displaying.
ThreeFN 2 years ago
Awesome! I love that it's ran by the computer!
CrazyDood69 2 years ago
Really? I'd prefer if I could run it locally on the arduino, but you just can't do very good audio ANYTHING on the arduino. The language isn't fast enough and the processor isn't fast/powerful enough. This is my rather hacky solution to the problem. The biggest problem is that the laptop is portable enough for the end game purpose of the portable, WEARABLE display. Maybe a UMPC could do it, but I don't have the cash for that any time soon.
ThreeFN 2 years ago
I been looking all night on arduino code to do FFT. I was wondering if you'de be able to share how you process FFT with the arduino.
bytesilver 2 years ago
scratch that I just realized you were sending FFT data through serial.
cool stuff anyways, was hoping to process all in arduino
bytesilver 2 years ago
Yah, Processing language does all the grunt work for me. The arduino's ADC and core clock aren't anywhere near fast enough for FFT. You might be able to get 5KHz samples from the arduino. Someone on instructables managed that, search led sprectrum analyzer or something like that.
I used the minim library in Processing. Basically hacked at the FFT example code to have a serial event send a buffer of 16 values from 0 to 23.
ThreeFN 2 years ago