After I was able to record good results in the field of water drop photography with Water Drop (Advanced) I wanted to extend the functions drasticly. It was about time to start with the new and better Water Drop (Pro).
Whats the difference to both predecessors, except the unimaginative 'Pro' behind the more unimaginative 'Water Drop'? Well, at first it supports electromagnetic valves, which are set via a microcontroller. The second point is the host-software which is needed to set all parameters. Therefor you need a computer with Windows as OS. Furthermore all current Canon Eos models are supported (to change focus, aperture, ISO, time).
The scope of the valves shall be three pieces. I work on ballistic add-ons, but this will take a few more hours of research and testing.
This project is really huge, but I try as hard as possible to explain it complete and understandable, so everybody who wants to create water drop pictures can do it. For the electrical part you will need time and some skills in soldering. Also you will need a little bit of photography equipment. But that comes later!
Since I can't squeese every small detail into that site you will find a zip-file to download here. In the zip-file (as I call it from now on) is the always latest version of the software as well as all plans and sketches you will need to finish the project.
First I want to show some tricks how to prepare the water, so it's easier to capture.
Who's read the few lines of Water Drop (Advanced) may know the following lines, not much has changed.
The drop fluid, the one which comes from the nozzle and falls down to the water can be prepared in two different ways:
- Clear water - big splashes
- Water-guar-mixture - results in bound forms
No mather what method I use, I always filter the water shortly before a session. As filter I use a sieve and a napkin or a handkerchief. A coffee filter works as well.
The guar gum mixture (about one teaspoon) is prepared with 5cl spirit. After stiring it pour it into a glass of two liter warm water. Let it rest for a couple of hours.
The water in which the drop falls is only filtered, and the container in which that water is shall be really clean. As container I use whatever fits in the scene, a basin, a vase, a glass, a pan, etc. I fill the water up to the rim, so the 'horizon' melts into the background. Behind the container I often place translucent colored panels. This results in a great colored scene.
I've also tested distilled water. The results are basicalle the same as with normal water, so I'm not going to use it for pictures, but for cleaning the valve & the hosepipe afterwards. Limestone's the enemy!
Now I've said everything I know about the water, on to the next step.
As I said the controller supports the usage of up to three valves. Out of financally reasons I only have one valve, but the installation of the other two valves is ident. Plug & Play.
I use a selfmade frame which is built to be easily disassembled, so one can store it space-saving. Not everybody has plenty of space.
All files to built it are to find in the above shown link -> Zip-File!
It is 1500mm high, so you can put in onto a small table. It is wide enough to place a baking sheet under it, which works as a collecting basin for sloping water.
The assembly is easy, just mount the side boards with wing screws on the horizontal boards.
Here the valves are mounted, so I took care of a high precission. All valves are on the same height, but you can arange them horizinatlly (except the middle one, that's fixed). The valves are presented later.
From the controller runs a six pole cable which ends in a distributor. Here the valves are connected.
One plane above the valves there is the water basin. Every valve has its own which works with Mariottesche's principle. That way the preassure on the basin's outlet is constant. This is important for the falling time of the drop.
The bottle's principle is rather easy. When water is flowing out on the bottom the fading volume of the water inside is decreasing the air pressure. Is the sorrounding's pressure relative to the inner pressure high enough that it can overcome also the water's pressure air is going to be sucked in through the pipe. Thus the pressure of the pipe's bottom outlet is constantly the surrounding pressure (as long as the water level is above the bottom outlet).
Inside the housing you'll find the printed circuit board (PCB) on which the Arduino Nano takes place. All necessary documents to manufacture the PCB are in the Zip-File. The description of the shematic plan follows later on.
The front side shows the display, the main switch, the reset button and the three drop-buttons. If you press one of the the correlating valve opens shortly to release only one drop. This is very helpful when you want to know where the drop will be when you set the focus.
On the backside are the connectors. The power supply socket (bottom left) is for 12 VDC and needs at least 2 A (if you use all three valves together). Above it you can see the camera jack.
ATTENTION! The 12V connector must be soldered suitable to the power supply. How wiring has to be you'll find on the power supply's housing. It looks like this:
Here you can see the plus-pin is inside, so the 12V plus-pin from the connector also must be the inner one.
Right to the supply socket there's the 4-pole socket for the USB cable which connects the controller with the PC. You can also use a standard USB socket, but I think such a microphone connector looks better.
The other two sockets are for the valves and for the sensor. At this time no sensor is supported, but the interface is already there.
All needed parts and plans for the housing are to find in the Zip-File under "Mechanical Engineering".
If you don't have the tools to work the metal sheets just use plastic sheets. They can be easily cutted with a fretsaw.
A note to the beginning: I'm using the small display again in this project. It serves as a visualization for the conditions (connected, working, open valves, etc.). If you can renounce this you can also relinquish to the display.
The part list:
|1||Power supply||12V, 2A|
|4||Pushbuttons||3 valves, 1 reset|
|3||Resistor||10kΩ||For the buttons|
|3||Electromagnetic valves||Normally closed|
|1||Audio jack||3.5mm||Camera connector|
The wiring is shown on a breadboard and on a shematic plan. Further I have designed a PCB, it is to be find in the Zip-File. You'll also find a part list and an assembly plan in the Zip-File.
I have to say that in both images is a small failure. The power supply is shown with a 9V battery, but it is of course a 12V supply. Furthermore the valves are displayed as solenoids, but the function is the same.
Now I'm going to explain the components in detail.
The camera connection is a basic 3.5mm stereo jack. Many cameras and flashes are supporting this. To build it you need three parts:
The wiring between optocoupler and 3.5mm jack must be designed, that the housing (SLEEVE) of the connector is connected with the emitter of the optocoupleer. The optocoupler's emitter must be soldered with the Left-Pin (trigger). With the Right-Pin the camera's focus is enabled.
Pin 1 on the optocoupler is the anode (+), pin 2 is the cathode (-). When someone asks, why I'm using an optocoupler: Keeps you from frying your stuff!
If you use the digitalWrite() command on your Arduino it generates a voltage of +5V on the pin. This could harm your camera. To be safe we're using an optocoupler. It's function is comparable with a relais, but the switching time is much shorter. If you're unsure about the coupler's pinout, please refer to the datasheet.
The valve works with direct current (12V), but the Arduino only provides 5V. Therefor you need a transistor circuit.
A transistor is basically a switch, which opens and closes electrically. Whom this explanation is too little -> transistor circuit..
Ground (-) must be the same on the controller and the valve. Otherwise the circuit won't work. Additionally I connected the 12V line directly to the Arduinos Vin-pin. That way the Arduino and the valves are supplied with the same source.
The rectifier diode is needed for safety reasons. It is possible that the coil inside the valve 'hits back'. This could lead to a defect.
The valve has a power of 5 W and needs 12 V. With P = U * I you see that it needs 0,41667 A. To use three valves simultaniously and to power your Arduino (200mA max.) you need, to be sure, at least a 2 A power supply. I bought a small power supply which provides 8 A. Of course this much is never to be used, but it was cheap.
It doesn't matter where you get the 12V & 2A from. If you want to use a battery that's ok, as long as it provides enough power.
The display is a small 0,96" OLED which receives the commands via I²C. The Arduino supports this if you import the Wire.h library. Then the two pins A4 and A5 are reserved for this communication. The wiring has to be as followed:
To be able to actually print some text on the display you will need my library. If you follow this link you will also find an explanation to the library and the display's hardware.
To finish everything neat I designed a PCB. All cables are going to end in terminal blocks. The picture below shows the PCB's layout, which I've made with Fritzing. The *.fzz-file is also in the Zip-File.
For the printed circuit board you'll need some skills in soldering. Almost all components are soldered onto the PCB, except the Arduino and the optocoupler. Both are just placed in sockets. A full part list is also in the Zip-File.
When all components are on the PCB it's ready to be soldered.
Be careful when you place the optocoupler. On its housing you'll find a small dot, this indicates the position of the first anode. On the Fritzing-sketch is a small star (*) where the dot has to be. If you are unsure where the first anode is inside the optocoupler, please refer to the datasheet.
The PCB was printed at this factory. It costs under 20€ with shipping to Austria. It is enough to send them the PDF and to add the following information:
- The 4 outer drillings: D3.2mm
- All other drillings: D1.0mm
One thing first: I've wrote the code for the controller with Sublime Text 3 ( Stino ) and used the Arduino IDE 1.6.6 to compile it.
Both, the controller's code and the host code are to find on GitHub. Here you can have a look at the program before you download and run it.
If you don't like GitHub (some people actually don't like it): Everything is also in the Zip-File. Further you'll find a complete description on how to use it.
As I said I use the Arduino Nano v3.0. I've tested the program several times and it should work without any problems. But if any problems occur, please let me know it in the comments on my blog or write me a mail.
Who's new and not sure how to use the Arduino: Here's a short how-to. For everybody who already knows how to work with an Arduino: Open the Water_Drop_Pro.ino-file, upload it, done. You just need to open this file because all other files will be opened automatically if you use the original Arduino IDE.
Sometimes I will publish updates for the controller and the PC to fix some bugs or just to optimize the code. Just check the Zip-File or GitHub from time to time.
As I mentioned it before the host software is a Windows-only program. How can one do that? My excuse is that I was way too lazy to build a well working GUI with Java or Python. I used the easy-to-use Visual Studio C# to do the graphical aspect fast.
The next water drop project won't be Windows-only, but it will not be started before July 2016.
If you want to use it on a Mac: There (here) are some methods to run exe-files on a Mac, but I really don't know if it works, because of the lack of a Mac.
The software supports all commonly used Canon EOS dslr cameras. The big advantage is that you don't have to touch the camera anymore when you change parameters on it. Nikon, Sony, Pentax, etc. are not supported because I'm not able to test them. I'll try to implement 'all cameras' into the next water drop project.
Another big plus is the 'Live View' function. Now you can set the focus so easy that ever drop is pin-sharp.
Here's the short manual:
- Connect the Arduino (code's already on it) with the PC.
- Run the software on the PC and select the COM-port. If you don't know which port to choose, plug the Arduino in when the software is running.
- Click the 'Connect' button and wait until both are connected.
- Done. Now you can control the valves with your PC.
On the software's left side you have to set the height between the valves outlet and the waters surface. Then you'll get the time when the drop hits the surface (because of missing parmeters [nozzle diameter, valve delay, ...] that time
isn't really exact). Afterwards you can always change this delay time. Besides the valve-times the delay is the most important parameter to set.
That delay also the time when the camera is triggered. If you set valve's open-time after the delay the caemra will be triggered before the drop is released. That's not smart.
The start time of all valves will be set from point 0, so is the delay time. Short: A delay of 100ms and a start time of 100ms is exactly the same point in time.
To disconnect the Arduino you should always press the 'Disconnect' button. I know that's ome kind of "Remove USB safe", but the Arduino cannot detect if a serial device is connected. Therefore it must be done in correct way.
Everything else's in the ZIP-File.
Now I'm going to tell you how to use everything properly, but first comes the equipment.
- Canon EOS 650D dslr
- Canon 100mm f/2.8 Macro lens
- Cullmann tripod
- Yongnuo 560 III flash (no TTL)
- Yongnuo RF-602/C wireless trigger
In my opinion that's the minimum. I know that stuff is expansive (I've worked hard for it) but who's got an similar equipment is ready to go.
A macro slide is also a good tool to use here. With it the poritioning is of the camera is really simple.
A really good descrition of my used flash is here (german).
At the beginning of every shooting you should let the valves open until water flows constantly out. When you close it again you can be sure that at every opening a drop comes out.
At the end of every shooting you should clean the valves and the pipes and everything else to increase the lifespawn of every part.
The best and easiest method to set the focus is to put something at the place where the drop will land. For this you'll find three buttons on the front of the switchbox. Push one of them to release a single drop (that way you know where the drop is landing).
Then you just have to focus the object. This can be done directly with the cameras live view or via the host PC software.
There is no perfect position for the camera and the flash. Every session's going to lead to different results. Every changing of the fluid and the way you frame the whole thing will create new and more stunning pictures. But one thing is for sure: Don't mount the flash on the camera. That just doesn't look good.
Water-drop-photography is at the beginning more like try & error until you get a grip on it. Just don't give up!
Here everything's straight forward. Connect the host with the controller (switchbox), set the times and delays and hit 'Start'. If the capture doesn't fit, change everything until it does.
Here are some pictures I've made with this setup.
I hope I haven't forgotten anything. If so, or if you have a general question: deloarts.wordpress.com.