Detect water stream

Hi Community,

I would like to know if there's a way to detect water stream with Arduino ? My goal is not to detect water level or water on a pipe, it is to detect water falling on a container.

I was thinking on using an ultrasonic sensor like HC-SR04 to detect the distance from point A to point B and if there's a water stream falling in between those points detect it with the ultrasonic sensor (This I suppose should mark a difference on the distance between point A and B).

Could that be an option ? or there are better solutions ?

Light beam interruption.

They that was sharp!, is that sensor only capable to detect a linear trajectory or it can cover a an area give X angle ? like cover 60 degrees from point A to point B.

I have used the waterproof SR04M ultrasonic sensor to detect river level height

have a look at dyp-a02yy-waterproof-sensor posts

Hi Horace, detecting the water level is a secondary goal, what I need to know is if there's a liquid stream falling to a container, I need to detect the liquid falling in the air, not once it is in the surface of the container.

with no water falling the ultrasonic sensor would give you the distance to the rear of the container
when water falls I would expect the readings to change
time to experiment?
how large is the container ? ultrasonic detectrors have a minimum distance specification - under that they don't work

Hey Horace! yeah that is my idea with the ultrasonic sensor, the distance would be about 4 inches from side to side of the container, It is like a pipe so it is curved shape container, would the curve of the wall of the container affect the measurement ? I would like to cover a considerable area of the wall, so the angle of the wave is something I would like to use on my favour.

Are you able to "control" the liquid before it falls in the air? IE: through a pipe or against a surface? Or must the liquid free fall?

these low cost ultrasonic sensors are typically capable of measuring distances ranging from 25 to 450 cm so the range may not suit your application
you could look at TOF distance sensors - waterproofing would be required- again I have used these to detect water heights in containers

Oh, new facts. First you said, "on a container"... Rather than dribble bite sized details, how about a really good dimensioned diagram and a detailed explanation of the required sensitivity, flow etc?

And, the purpose, because this might not be the best way to monitor the flow...

1 Like

It´s seems to be a XY-problem.

2 Likes

If you already have your HC-SR04- you could try to simulate by using your water faucet in your sink and see if that works. Then you could control the stream of the water etc. I expect your method would work appropriately.

(deleted previous bc it was a reply to a different post rather than to this post)

Consider a microphone to listen for the sound.

Yes, I have the sensor, got a strange problem receiving the same measurement always event if I put my hand in from of the sensor, but that I think is the first option as the dead zone is no greater than 2cm, which is good for me!

Yes, that was an option, but people could be talking nearby and that might cause interference.

Filter out all the low frequencies. Water dropping will produce very high audio frequencies. Try is with a microphone, amplifier and an oscilloscope. Look at the trace for very high audio frequencies.

I was able to get some results off of my kitchen sink with:

#include <SR04.h>
#define TRIG_PIN 12
#define ECHO_PIN 11
int buzzer = 13;//the pin of the active buzzer
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;

void setup() {
   Serial.begin(9600);
   delay(1000);
   pinMode(buzzer, OUTPUT); //initialize the buzzer pin as an output
}

void loop() {
   a=sr04.Distance();
   Serial.print(a);
   Serial.println("cm");
   delay(1000);
   if (a<50)
    {
        int sound_duration = 100;
        //activate the active buzzer
        digitalWrite(buzzer, HIGH);
        delay(sound_duration);//wait for sound_duration ms
        //deactivate the active buzzer
        digitalWrite(buzzer, LOW);
        delay(sound_duration);//wait for sound_duration ms
    }
}

The main portion of this program came from "ELEGOO The Most Complete Starter Kit for MEGA V1.0.2023.05.05". I added the buzzer based on another one of their modules so I could hear the change.

They have other instructions on their website.

Notably though, my kitchen sink has a lot of flow. So it depends on your application.

In general: Yes- Arduino and the HC-SR04 can detect a stream of water.

Flap and switch; Flap is in the path of the water stream.
If this doesn't suit then your problem needs better specifying.

1 Like

We keep asking for that, but the will isn't there...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.