A while back I saw the cool water display that Jeep has been showing off at conventions, http://www.youtube.com/watch?v=Z2LUz2WVcek It looked simple enough so I decided to build something similar. Instead of using falling water I decided to use air bubbles rising in water. I thought it would be simpler (though, I now I have my doubts). In this post I will share how the effort is going.
The idea is to build a small water tank with individually controlled solenoid valves at the bottom. By turning the solenoids on and off in specific patterns I should be able to make simple black and white images float up slowly from the bottom of a tank. When I say black and white images I mean that wherever there is a white dot I will put a bubble and wherever there is black dot I will just leave as empty water.
Most of the stuff that I am using to build this is pretty common stuff like aquarium air hoses and pumps, plus an Arduino Uno for the brains and some random electronic components. The big ticket item in this is the solenoid used to control the air. I found some solenoids on Jameco’s website that allow for the control of airflow for about $10 each.
Here is a mostly complete list of bill of materials:
The solenoids that I bought need 12 volt at 350 milliamps to open. Getting this kind of power through the Arduino isn’t really an option so I have a separate 12 volt power supply to power the solenoids. I also got a series of mosfets to handle switching the power to the solenoids on and off from the Arduino.
Here is how I wired the solenoids to the Arduino. Connect the Gate pin of the mosfet to one of the arduino’s output pins using a 100 ohm resistor. Then run a power line from the 12 volt power supply to one side of the solenoid. From there run a line out the other side of the solenoid and into the Drain pin of the mosfet. Lastly just connect the Source pin of the mosfet to the power supplies ground. Oh and to make everything kosher make sure you connect the grounds from the Arduino and the power supply. Once you have this in place all you have to is send your output pin high and the solenoid will open. Send it low and it will close.
I have eight solenoids so I just wired up this same circuit eight times. You can see in this picture how I ran the wires specifically. In this image the solenoids are barely visible at the top of the frame. The top power rail on the breakboard is connected to 12 volt power supply. The green LEDs at the bottom are just there to show me which solenoids are open and make things a little easier to debug.
Building the Tank
Attempt #1: Wood, Glass and Silicone
I seriously underestimated the difficulty involved with constructing a waterproof tank. Initially, I constructed tank out of two panes of glass and some pine 2″ x 4″‘s. I cut the 2″ x 4″s down to size and cut grooves into the sides for the glass to slide into. I sealed the seams up with silicone calk from Ace Hardware. Once the silicone had set for a while I filled it with water. I found a few small leaks, so I emptied it and added some more silicone. I must have done this half a dozen times without success. Whenever I fixed one leak two more would show up somewhere else. At one point I thought I had it sealed and left it over filled over night as a test, but by morning the tank was empty and there was water everywhere. I eventually gave up, chalking it up to the pine being too porous to contain water.
Attempt #2: Acrylic and Weld-On (And a couple dabs of silicone)
After that miserable failed attempt, I decided to try my hand at welding sheets of acrylic together. At my local Ace Hardware there are a couple employees that regularly screw up cutting 2′ x 4′ sheets of acrylic in half. So I was able to pick up several feet of acrylic for a couple dollars. To weld acrylic plastic together I went to a plastic manufacturer called Regal Plastics and bought a small can of Weld-On and little syringe like applicator. The weld-on stuff has the consistency of water which makes applying it to only the area you need and not marring the rest of your work a bit of a challenge. I cut my acrylic on my table saw with a regular ripping blade. This cut the plastic alright but it had a bit of chip out and left a fairly rough edge. One of the other things about the WeldOn being so runny is that the two surfaces have to be nearly perfectly flush for it to make a good seal. My cuts weren’t, so when I glued it together I still had a couple tiny little leaks. I was able to apply more Weld-On in the areas where the leaks were very tiny. I did end up putting a bead of silicone calk all the way around the bottom. That pretty much took care of the leaks.
I found these handy little widgets in the aquarium section of Pet Smart called check valves. They keep water from backing up into the line and messing up your pump. In my case they make a handy dandy consistent nozzle for the bubbles to come out of. Also since they are made of acrylic I was able to just drill holes in the bottom of the tank and weld them in place using the same Weld-On product. Getting them in place was surprisingly simple and didn’t yield a single leak or headache.
The rest of the construction was done using basic wood working techniques and isn’t really worth mentioning.
What fun would a project be if it just worked the first time out of the gate? Here is a video of it of its first run:
It is supposed to be printing out letters but as it turns out (and probably rather obviously in retrospect) the bubbles just flow around randomly. Hell, on the right side you can see bubbles actually going down instead of up.
Since that obviously was no good I set to work on creating some dividers to slide in there. It was at about this point that I joined a somewhat oddly named hackerspace called The Cowtown Computer Congress that resides in the supercool workspace provided by Hammerspace. This proved handy because it allowed me use the laser cutter there to print out these brackets to hold the dividers in place
With these in place the bubbles started moving a bit more predictably:
This made quite an improvement but the bubbles still weren’t moving consistently. So I replaced the water with mineral oil. Which as it happens is available from CVS labeled as a laxative. Honestly, I was a little disappointed with my coworkers when I brought in half a gallon of laxatives to work and not one of them batted an eye.
Here is what it looked like after I replaced the water with mineral oil:
That is where I am currently. The big problems I am still having is that bubbles are floating up and different speeds thanks to different amounts of air being blown into them. Its not hugely obvious with just one valve open at a time, but when I try to actually print images that have different valves on at the same time all hell breaks loose. I am working on the arduino firmware to account for how many valves are open at a time and adjust the time the valves are open. If that doesn’t work I will be looking into a better regular or individual regulators per line.
On side note here are a couple of videos of food coloring defusing inside the tank before the dividers were in place: