In 2014 my good friend Pierre-Luc and I were looking for a cool Christmas project to put together for the company Christmas party. We initially wanted to go all out with lit-up suits that could be controlled by finger movements, but we relatively rapidly downscaled the project to a pair of simple belt buckles with red and green LEDs. (It was Christmas after all.)
Pierre-Luc had just bought an Ultimaker 2 so we thought we would put it to good use by printing out the buckle itself. After putting together the design in Sketchup and painstakingly flipping triangles around for an hour, the printer produced this great mounting plate:
|
Printing out the LED mounting plate. |
|
Finished mounting plate. |
(Today, I would definitely model that in Fusion 360, it would take five minutes.)
The idea was to multiplex 24 red and green LEDs onto 10 Arduino pins in a 6x4 matrix, then PWM them in software to light up the buckle with interesting patterns. I prototyped this successfully on a breadboard:
|
Driving 24 individually-addressable LEDs with software PWM using 10 pins. |
|
PL hard at work drawing schematics. |
|
A finished LED matrix, ready to be connected to the microcontroller. |
At this point everything looked good. We thought using enameled wire would make things easiest since we could easily strip off short segments of insulation just where the LEDs needed connecting, leaving the enamel everywhere else on the wire to avoid shorts. In retrospect this might have been our failure point.
We were quite happy with the progress. However, things got a bit more complicated when we started having to connect everything to the microcontroller.
|
Connecting things to the controller... |
|
Oh man this is going to be a mess... |
|
Total mess. |
I should mention at this point that we were extremely short on time: the party was the next day. We were working fast and loose, and this is where things broke down. The matrix was a complete tangle of wires, and the addressing didn't work anymore, very likely due to a handful of shorts. Combined with the fact that we had to cram all that circuitry into a belt buckle, we thought there was no way we could make the circuit reliable in time.
We had to make a call, so we decided that we would simply remove the microcontroller and wire up a slide switch and a momentary pushbutton to the full array of LEDs. This would allow us to leave the buckle on, or flash it manually to the beat of the music.
With very little time to go, we switched tacks, cut everything leading to the MCU and tested the LEDs directly from a static power source:
|
Light it up! |
At this point everything worked, we just needed to put it into the case. This was a challenge in and of itself.
|
Gluing everything in place. |
|
Underside of the buckle, before it was closed. |
We were sad to lose the MCU and LED animations, but in the end, the belts turned out great.
|
Finished belt buckle. |
|
Close-up of the finished belt buckle |
We wound up finishing the project at work the next day, after work hours but before the party. I had brought in my soldering station and other gear to work, and we wired up the batteries and switches during cocktail hour. The buckles brought lots of great smiles to people's faces. They were great conversation starters, and we enjoyed dancing and flashing them to the beat throughout the evening!
No comments:
Post a Comment