For our PComp final, Mike and Ananya and I decided to keep working on our sound ball idea. The version we made for our midterm was cabled and not exactly beautiful, and we had a fairly simple visualization. We split up the tasks as before: Mike worked on expanding the musical implementation through Processing (using Beads), Ananya on the visualization, and I focused on the enclosure and overall “look and feel”.
This project basically took over my mind. Every day I would talk about new ways I wanted to change the enclosure, or better light diffusion. But first things first, “cutting the cord” and going wireless. We went with Bluetooth. I did the soldering and we all muddled through the pairing process together. Mike then adapted the code for the Bluetooth.
Challenge 0: Suspension
How to suspend a large Arduino board inside a clear plastic sphere?
We got sets of 6″ hemispheres from Canal St plastics as step 1 in mission “make cooler enclosure”. But since they were clear, I didn’t want to use anything sloppy like hot glue to hold the boards in place (also I wanted to be able to remove the board later). I tried all kinds of systems. Glueing in brackets, cutting channels into rods, every day something new.
At last, as I attempted to wedge the board between notches in fiberboard just to keep it away from the edges, I realized the solution. I needed something with the same curvature as the sphere to get a good bond inside!
In Illustrator I made a 6″ circle, then cut across it about half an inch up with a line. I cut a notch in the middle of the line. I wasn’t quite clear how to turn that into a single shape for the laser cutter but Tak came to my rescue. Plans in hand I cut several “sphere sleighs” for my board. And they worked!!!!!
After that I just needed minor sizing changes.
I was a bit optimistic though. I wasn’t quite done. I had to glue the pieces into the sphere, not as easy as it sounded.
I placed the hemispheres flat side down on the table and put a line of tape along the circumference, as Tak showed me. Then I measured equidistant points from the flat edges, and marked those points with a line between them on the tape. The lines gave me a guide for gluing in the plastic.
First I used the “plastic cement” I bought at Canal St Plastics. It said it would take 2 min to set, and 12 hrs to fully cure. Couple things about the cement. First, the tube is a terrible way to store it, and it constantly drips out getting all over everything. Second, it doesn’t even hold very well. A few days later I went to wedge the board in and the pieces just broke away.
So I tried again. I borrowed Zeven’s methylene chloride liquid acrylic cement, put it in a needle applicator, and carefully dripped it along the piece as I held it in place. The binder wicked in through capillary action as advertised, and it seemed to be going great.
Until I pressed hard enough to bend the sphere later. The curvature changed and it popped free again. It hadn’t melted the pieces together as I hoped, but it did leave a messy line of partially melted acrylic in the sphere.
Maybe I just needed more…
I did the same thing again, but dripped in twice as much cement and pressed fiercely. I could actually see the acrylic smear as it melted against the ball. The ball seemed only vaguely affected. But I wasn’t going to stop there. This time, I also smoothed on a line of the gel-like cement I tried before. I figured this would fill in any gaps and make a larger surface area to grab the plastic.
And that worked, at last!
Of course, I had gotten the sizing of the notches juuuuust slightly off it turns out. But I just took a rasp to it and sanded it open until everything fit.
FINALLY! Enclosure = SOLVED!
Challenge 1: Speed
I set a bunch of LED patterns, and the simple glow and fade looked fantastic as a base state. I set the others to follow along the accelerometer values to give a secondary visualization of the movement.
But when I went to add in the LED patterns I’d been working on to the Bluetooth ball, we hit a snag. For smooth tracking, we updated our sensor readings every 30 ms. It turns out that the LEDs cycle too quickly at that speed, and just appear to be on permanently.
I hit a wall with that for awhile. But we went over the millis() command in class just as I was getting desperate. I built in a little delay loop just for the lights, and everything finally worked! (It is also in the book Making Things Talk, which you should read if you are doing a lot of remote sensing. Seriously.)
Challenge 2: Diffusion
Everything put together looked kind of like a pretty bomb, it turned out. And the super-bright LEDs were only bright in one direction, when viewed from the top. Hmmmmmm.
I tried hot glue on top – dimmed without sufficient dispersal.
I tried sanding the LEDs – insufficient dispersal.
I tried coating the inside of the ball with “Privacy Coat” glass spray – Mike confirmed that an LED looked patchy and yellowish through this coating, which does not like curved surfaces.
I tried mirrored paper to bounce the light around – just looked messy and didn’t reflect enough angles.
I tried wavy plastic – nice, but so rigid it was nigh impossible to use inside the sphere.
Finally I tried translucent plastic paper. This seemed to be my best shot, but it was also a bit too stiff to just press into the sphere. So I tried cutting, folding, crushing, fringing, and just about every other machination I could think of. Finally I settled on a “paper lantern” like effect (rosettes which allowed for random overlapping worked as well). The key was to let it overlap itself while adjusting to the curve. I taped them in place and they looked lovely. Just in time for the final presentation!
Here it is in base mode, just watching the bluetooth transmitting the accel/gyro data in the full sphere, with all the LEDs in:
Sound sphere testing
Then we added in the visualization code and it all went to hell…but that is a story for another day. It all worked when we presented in class, and that is all I have to say about that.