Locating position of water

We are working on a project where we want to meassure where a rain drop falls on a given pane. The size of the pane is about 5x5 inches, so it’s too small to use somewhat common solutions such as cameras.

Our question is “What sensors could we use to meassure where a rain drop falls?” we have concidered the following solutions :

Using a very soft and lean material such as a balloon, we will try to make two contacts one on the back of the baloon and just pins. Whenever the baloons bends enough (by the pressure of the water hitting it), it will hit one or more pins (layed out in a grid).

Infrared (thermo)
Since the water that will hit the pane is 20 degrees celcius, it should create enough heat to meassure. However the problems with this solution is, that we need to meassure on a very small pane - requiring a very small and expensive camera.

Creating a grid of light, and where the light breaks is where the water hits the surface. This could be very specific, but since we are by no means experts using light sensors this seemed the least favorable approach.

Would love to know, if you have any ideas on which of the approaches is the best one given the constraints. We are going to prototype the pressure one, to see how specific it can be.

I am unsure where this topic should live, so if it has to be moved or anything - no problem.


Try a contact mic!

The sound of the drop on the pane should be loud enough to cause a spike in the audio.

Right, that woudln’t help us find the position of the rain drop?

Is this a water drop or actual rain you’re talking about?

A piezo contact mic would be perfect for finding out when the drop lands, but not the position.

Is it for measuring the first drop, or lots of drops?

Is the pane made out of glass?

Thermal camera is going to be expensive.

Maybe you could use a camera under the pane and shine a light perpendicularly to the direction the rain falls, and watch for the refracted light?

I like the idea of using the balloon as a membrane, but making all those sensors would be a pain. Maybe you could watch the other side of the membrane with a camera for any changes in appearance.

The contact mic is fine, you just need three. There is a slight propagation delay while the sound travels across the glass, you can use this to triangulate the position. I’m working on a similar system for doing “multi-stomp” interaction with a crowd.

I’m not sure about the propagation irregularities once the water collects. That could change the calculated position the same way water “bends” light in a glass.

hi Bojhan,

Kyle’s idea should work, but i think you’d need a custom hardware device to do the timing. if you use a glass pane, the speed of sound in glass 3962m/s ; your plate is 5" = 12.7cm, meaning sound will take 0.127/3962 = 0.00003205451792s to travel from one side to the other. to accurately detect a spike in audio input, your audio sampling rate will need to be very high frequency: at 32kHz there would be one sample difference between a drop falling on the left of the pane and a drop falling on the right, which means that even a 192kHz audio input card would only be able to detect 6 distinct areas across the pane, under perfect conditions.

coming back to the balloon idea, you could perhaps shine a beam of light perfectly perpendicular to the underside of ballon surface, and with a camera pointed upward toward the back of the surface, watch for reflected light as it is deformed:

     d   droplet  
  ~~~~~~~~ balloon surface  
     <---- lightsource perpendicular to balloon surface  
    \ /  
    [c] camera  

(hope that’s clear)

when the droplet hits, this might happen:  
     | reflected light from the bump in the balloon caused by the droplet  
    \ /  
    [c] camera  

this idea is based on a multitouch project that used a stretched sheet and a parallel light beam, detecting touches as interruptions (== reflections) in the beam. i can’t find the video now though.

what’s the project? it sounds fascinating…

triangulating the piezo output could work, I was thinking to use the difference in signal amplitudes between the piezos rather than timing, if you dampened the material enough to get a nice falloff.

Damian, thanks for doing that calculation – I was a little worried about the scale, but didn’t realize it would be on the order of 1 sample @ 32 kHz propagation delay! The custom hardware wouldn’t be so bad: an Arduino mega should have enough external interrupts to do everything around 10 MHz and just output timestamped data over serial. The issue there would be serial latency.

I like the balloon idea. It reminds me of that sweet piece, “Khronos Projector”.

We tried a bunch of the approaches outlined here, apart from the sound ones. But we found piezos to give us detailed enough information about the drops. We are now setting up a 8 piezo set to cover a certain pane.

out of curiosity, what are you measuring with the piezos, delay time or amplitude? and what are you using to measure it? Arduino or audio input?