layout | title |
---|---|
page |
Tutorial:LED Sousa Bell |
Many thanks to the Brooklyn College Sonic Arts program and the Performance And Interactive Media Arts program!
Click here for a compilation of short clips I recorded while I was making the bell.
If you haven’t soldered before, Nic Collins’ book Handmade Electronic Music is a great way to learn how.
Adafruit has a soldering guide specifically for LEDs.
If you are unfamiliar with Max/MSP, check out the tutorials.
Also, check out Jay Converse’s LED bell because it’s cool too.
- One dedicated sousaphone bell (this is a permanent installation) I used a fiberglass bell spray-painted black. the LEDs will stick to a lacquered bell just as well, but keep in mind that the LEDs will be soldered while they’re on the bell, which would not do the lacquer any favors.
- Condenser clip-on mic My max patch currently only uses amplitude data from the mic. It’s definitely possible to use a much cheaper mic, or even solder your own.
- Audio interface
- Max/MSP
- Teensy 3.2
- OctoWS2811
- Header pins
- Sockets
- WS2812b RGB LED (200 LEDs needed for this tutorial, but definitely buy extras. Even the pros sometimes have trouble sourcing good ones that won’t burn out quickly) WS2812 LEDs were released to the world 7 years ago, and they’ve been improved upon since then. Click here to read more about other types of LEDs.
- 5V 50W PSU
- Soldering Iron (I bought a cheap soldering iron, hated it, then splurged on the Weller, which is great)
- Helping hands
- lead solder (leadless solder is a PITA)
- Electrical tape and Gorilla tape
- Micro USB cable
- USB extension cable
- Barrel extension cable
- XLR cable
- CAT6 cable
- Stranded wire 22 AWG
- Projector and tripod (the tripod matters more than the projector. It must remain completely stationary for however long it takes you to place all of the LEDs on the bell)
Click here for instructions on how to connect the OctoWS2811, Teensy 3.2, power supply, and LEDs. This is to make sure everything works before it’s installed on the bell.
Download this folder o’ files If the Google Drive link ever goes down then the files are also available here.
Upload success.ino to the teensy by following these instructions.
This part of the code is the most important, and may need to be changed.
{% highlight cpp %} const int ledsPerStrip = 26; const int numStrips = 8; {% endhighlight %}
- Open testpatch1.maxpat
- Turn the patch’s audio on.
- Clear the serial ports and locate the teensy.
- Enable jit.world, and the LEDs should light up...
Here’s how I got the coordinates for remappedLEDcoordinates.txt
I found this website clicked “table”, selected the first 200 coordinates, copy-pasted them into google sheets, exported the sheet as a csv file, and used Justin G’s max patch to convert the csv file into Max’s coll object.
then,
This patch will get the Fib. Spiral showing up properly in jit.world
Left, incorrect, flipped on x-axis. Right, correct. (challenge: turn the coordinates 90 degrees. It’d look more symmetrical.)
Take a screenshot of the spiral in jit.world (or use the one provided above), and use a projector to project it onto your sousaphone bell. This will be where you place your LEDs. I found that it is easier to place the LEDs while the projector is on than it is to mark the spots with a marker and then put the LEDs on top of the marked spots. Once completed, the bell will look best from the point of view of where the projector was while you were placing the LEDs
One problem I faced is that I placed half the LEDs, then took a break for a few days, and when I tried to set up the projector again I learned that realigning the projector perfectly is impossible. This led to one speck of light hitting the flare of the bell the first time, and the throat of the bell the second time, which made me place one extra LED, which led to much confusion later on.
You'll want to wire the 200 LEDs in eight groups of 25. You should use your own discretion to do this as efficiently as possible. You can use my wiring diagram below as a guideline, but be warned that it’s flipped on its X axis, and I had to account for one extra LED. Fibonacci index #29 corresponds to wiring index #35 and #170.
I used this diagram to reorder the coordinates from the Fibonacci spiral order to my wiring order.
The top numbers are the Fibonacci indices, which can be obtained from here by clicking number
. The bottom numbers are the wiring indices. I did not plan out the wiring indices in advance. I simply turned on the first LED in each of the eight chains and wrote down the wiring indices on the above chart.
Then I typed all of those indices into a coll object, which allowed me to reorder the coordinates properly using the patch pictured below.
This essentially makes the whole thing a big, low-resolution TV screen.
...and that’s all the info you need to do this yourself. Best of luck! Note that the audio-reactive visuals are outside the scope of this tutorial. If you'd like to check out the visualizers I've put together for my bell, they're located here.