Now we come to consider the various ways in which we can filter the audio stream to extract its spectral data.
Well, my Bodacious Acoustic Diagnostic Astoundingly Superior Spectromatic (BADASS) display seems to be attracting some interest, possibly based on the YouTube videos I've presented of similar items. (See Max's BADASS Display, Part 1 and Max's BADASS Display, Part 2.) Now all we have to do is build it (LOL).
Just to recap, I've decided on the overall look and feel of the first incarnation, as illustrated below. My first big decision is using a 16x16 array of tri-colored LEDs. The panel on which the LEDs are mounted will be pressed board painted to look like antique brass. This board will be mounted on a larger plywood panel stained to look like expensive cherry wood. The two boards will be attached using brass acorn nuts, which I'll age to look old. (All this was discussed in more detail in my previous blog on this topic.)
First-pass look and feel for Max's BADASS Display.
(Click here for a larger image.)
Now, since I've been spending so much time playing with Adafruit's NeoPixels recently, I've decided to use these for this project. The great thing about these tri-colored LEDs is that each one contains their own PWM controllers (one each for the red, green, and blue sub-channels), and they have only four pins: power, ground, data in, and data out. You can daisy chain hundreds of the little scamps together and control each element in the chain individually using only a single pin on your microcontroller.
If I were going for a smaller display, I might be tempted to use Adafruit's new 8mm diffused NeoPixels and the associated WS2811 driver chips. However, I've decided to use Adafruit's NeoPixel strips. Of course, I am tempted by the 144 NeoPixel per meter strips, but these are rather expensive, and the resulting display would be quite short. To get around this, I'd be tempted to use 32 or 64 elements per column, but that would further increase the cost and complexity.
What I need to do is get my first-pass display up and running and use it as the basis for any future versions. Similar issues -- cost and small display size -- would come with the 60 NeoPixel per meter strips. Thus, I've opted for the 30 NeoPixels per meter strips, as illustrated below.
One downside to using NeoPixels is that they are a bit temperamental with regard to timing. In real terms, this means you have to use an Arduino Uno or an Arduino Mega. I'll use an Arduino Mega. Furthermore, since I'll have 54 digital input/output pins at my disposal, I'm thinking of using 16 pins to drive 16 strips, each of which will form one of my columns, as illustrated below.
OK, that's the easy part done (well, decided). This is where things start to become more complicated.
To Page 2 >