I've been fascinated by these "magical" thingamabobs for quite some while now, and a couple of days ago I decided to make my very own.
Follow me through fire and flames (no, not really, but through failure and success) and I'll show you how to make one with a reasonable tight budget and with some scavenged parts!
Step 1: The Science Behind It
Sometimes, somethings just happen too fast for us mere humans to see or detect. Take for example a completely dark room, and in that room you have a person standing. The person might be running around, doing all sorts of stuff, but you won't see it, because it's too damn dark! Now imagine that you flash the room with your camera. For a very brief moment, you will se the other person in the room, and then it will be total darkness again...
The thing we trying to do here, is simply flashing the fast motion, but instead of just one flash, we will flash it continually with several flashes per second, and so, we will appear to "freeze" the motion so that our incredible slow eyes and brain can see....
Interesting? Well, lets begin then...
Step 2: What Will I Need??
- 24 White Ultra bright LEDs (15000mcd) (2,5v / 20ma )
- A submergible 12 volts water pump (mine is a pentry pump used in boats)
- A bucket of some sorts (I used an IKEA flower pot made of plastic)
- Tubes (I used clear PVC tubing)
- An Arduino board
- 2 N-Channel MOSFETS that are rated for at least 2A (I scavenged some from old power supplies)
- 2 Potentiometers (ratings don't really matter)
- A 12volt power supply that can deliver at least 2A (the pump you know..)
-Good to have-
- Resistors (to put before the LED arrays, it shouldn't really matter but good to have anyhow)
- Perfboard (I used the "eyes" style)
- An Arduino prototype shield (good if you want it easy)
- Silicone (for make screwholes etc watertight)
- Electrical Tape (almost better than duct tape)
- Shrink-tubing (This makes things look better, and protects things from water)
-"Obvious, but easy to forget, things"-
- Soldering iron
- Glue (both superglue and hot glue is good to have)
- Beer (And in my case, a non-alcoholic one. It makes for better soldering than regular beer)
- Wires (a small bucketload)
- Patience (as we will see in the upcoming steps)
Soooooo. Are you ready to begin? Then put your tin-foil thinking hat on, and move on!
Step 3: Building Stuff (Plan A)
For this build I used (as mentioned) very bright white LEDs. All other time fountains that I've seen around the interwebz uses UV LEDs and fluorescent dye for the water. This of course would be the absolute best to do, and to have. But since I don't have a local supplier of either UV LEDs or dye, I decided to try if it worked with just very bright light...
The first version that I built used a thin plastic strip across the bucket, that was supposed to hold both the LED arrays and the water dripper thingy (see images). This turned out to be a complete, well a bucket of... Well you know... the plastic was way too soft to hold everything up, and the thing was leaning more than a very famous tower in Italy. And furthermore there was way too few LEDs to make it reasonably bright. There were also a minor design error with the water dripper. It just did not work... Well! On to plan B.
Step 4: Building Stuff (Plan B)
The LED's that I use for PLAN B is connected in 4 arrays in parallell with 6 leds in series in each array (see schematic), this is quite reasonable for the 12v power supply that I'm using (you should probably use some kind of resistor anyway, but since the LEDs are controlled with PWM (more on this later) it isn't really needed)
I use 2 perfboard bits with 2 LED arrays mounted on each. So there is a total of 24 extremely bright LEDs. That should be enough!
Since the LED arrays is driven by 12v, we need some kind of way to control them with the arduino (one does not simply connect 24 LEDs to the arduino). This is where those magical MOSFET unit comes in handy.
I will explain what a MOSFET is very very simply and quick (extremely easy)... Imagine that you have a garden hose, and in one end you have the water coming in, and in the other end you have your water spewing out. To stop the waterflow you would have to either plug the end of the hose with something (wich will result in a black eye when the cork flies out and hit you in the eye) OR install a valve! Now with the valve, you can easily shut down the waterflow, or control the flow of it.. Imagine your MOSFET as kind of valve. But instead of water, we'll use electricity, and instead of turing the valve, we use the arduino to control the throughput of electricity.
More on MOSFETs http://en.wikipedia.org/wiki/MOSFET
A MOSFET has three (3) connectors. And they are labeled :
- Gate (the controller pin)
- Drain (Connected to the load)
- Source (Connected to the power source)
For this setup we will bypass the GND side of the circuit with our MOSFETS. You could also use the positive side of the circuit, but for some reason, bypassing the GND side works better for me.
So first we connect the Gate-pin of the FET to our arduino pin of our choice (as long as it's PWM enabled) Then we connect the Drain-pin o the GND side of our LED arrays, and last the Source-pin is connected to GND
IMPORTANT: You must also connect a wire from the Source-pin of the FET to the Arduino GND pin (you will have wierd issues otherwise)
See the schematics for the LED array connection...
Ready to move on? Next we'll take a look at the pump action...
Step 5: Building Stuff (Plan B)
The goal is of course to have the water flow from above the bucket and into it... And to make the "magical time freezing" effect we need the water to be lit by our LED arrays that we built in the previous step.
The pump I used is a submersible pump used in boats (for pentry and bathroom thingies). It runs on 12v and uses about 2A at full speed.
But since this pump is capable of pumping out somewhere about 7litres/min, and up to a height of 5 meters. Running it at full speed would just result in a garden fountain, wich can be fun, but waaay to powerful for this application. We need some way to control the speed of it. The way of doing this is exactly the same way as we control the LED arrays! With yet another MOSFET connected exactly the same way (just replace the LED array in the schematics with a pump). This MOSFET I connected to pin 9 (PWM enabled) This allows us to control the speed (and power) of the pump, using the arduino.
When we have scratched our heads through the tin-foil hat a bit, all the electrical wiring should be done for the time being. Lets move on to the mechanical stuffs...
Since the old Plan A did not work at all, I needed something more sturdy to hold up the PVC tubing to make a good "dripping height" (since we need some height for droplets to form). I had a good lookaround in my workshop and found a gooseneck mount for microphones in a box, this is perfect!
I mounted the gooseneck in an aluminium bracket that I attached to my bucket. And taped the tubing on to it. If I had a smaller diameter tubing I could have threaded the tubing inside the gooseneck, that would have been awsome!!
I then Mounted the pump inside the bucket, well below the intended water line. The thing that the pump is mounted on is actually an old garden tool holder that I had lying around. Don't forget to use silicone to make the screw holes watertight....
At the end of the tubing i decided to put some kind of nozzle. Without any nozzle the waterflow was just to irregular and random, and that didn't work at all. So I had yet another search around the workshop and found a strange looking gadget in a box labeled "slaughtered coffee maker" (see picture). This is actually a flow meter from an espresso machine. It serves as a great uniform nozzle, with the added bonus that I can monitor the waterflow! With this mounted on the tubing there was a perfect stream of water!
So, what's next? What is this arduino thing doing for us?...
Step 6: The Other Stuff (Arduino Stuff)
To make this fountain come alive we will need the help of our trusted friend, the Arduino.
Before we move on to connecting the external stuff (the fountain), lets hook up some potentiometers to our arduino.
We need 2 potentiometers for this build. One to control the Strobe rate of the LEDs, and one to control the speed of the pump. Hooking up stuff to the arduino is really simple. But if you don't know how, just take a look at the pictures above. I've connected my potentiometers to the analog pins 0 and 2, but you can use wich number you like (as long as they are analog pins of course)..
Since the arduino simply reads an analog value between 0 and 1023 from the potentiometers, it does not really matter wich value they have, I used two 10kohm ones. Connect one leg to 5v, the middle leg to your arduino pin and the last leg to arduino GND.
Well, you should already have your MOSFET circuits ready (one for the LEDs and one for the pump), mounted on the bucket (or as in my case, on a separate perfboard). Now simply connect the GATE wires of your MOSFETS to your choosen arduino pins. In my case I Used pin 5 and 9. Just remember that the pins need to be PWM enabled! And then the ground wire from your MOSFET circuits to the arduino GND wire.
Voila!! you are now connected an ready to go (sort of anyway)
One extremely helpful tip is to test each section of the built at a time. To test both the pump and LED array, I used a simple arduino sketch that was made for PWM-fading a LED with a potentiometer. This could easily be coded in 5 minutes by someone who know how. Or simply googled and copied. Just run the sketch, first with the Pin for the LEDs, and then for the pin for the pump. This way you can see if there is any errors in your wiring or MOSFET setup. Think twice, do once!
Soo, we need some code!
Step 7: Coding Stuff!
You have now completed the build, and once programmed, I guarantee that you will have many hours of just looking at the wonders of falling water, messing around with the strobe and flow settings....
The best way to learn something about Arduinos and programming, is to actually do it yourself..
The interwebz is full of tutorials and example coding. I guarantee that you will find the things that you need for this to work..
You really just need two things. A simple PWM fade code for the motor. And a stroboscope code for the actual magic stuff..
Some helpful links though ;)
I hope that you have enjoyed my little tutorial on how to make your very own magic fountain! I will try to answer any questions that you might have!