I am total noob to electronics, I am a software engineer by profession. I want to build a device (device A) that measures the level of water in my water tank kept at the top of my house and sends the signal to another device (device B) that I have on the bottom floor of my house. device B would send a signal to another device (device C) to shut off the motor when the water level exceeds a particular level.
Device A has to be low powered enough to run several months on running off of some 4000-5000mAh battery. It doesn't have to be active all the time. I would be pinged maybe 3/4 times a day to check the water level and once a day when the tank is being filled it'd monitor the water level for 20 minutes and send a signal to device B when the tank is full.
My problems:
Device A and B are at least 40-50 feet apart and would have walls between them, what should I use to communicate between them? Would a 315Mhz rf module work? or Should I use something like a cat5 cable?
Would this pressure transducer be sensitive enough to fulfil my requirements? it's rated for 10Mpa, my water tank is only a 1000 litres, the pressure won't be greater than 30-40Kpa.
Would an ESP32 be able to serve my low power requirements?
Any other pitfalls I might fall into that someone more experienced can already see coming?
Is wifi available in all locations, maybe with strategically placed repeaters ?
For low power operation, it is best if the devices wake up occasionally and send something. If they are to respond to "pings" from an external source, they have to be awake the whole time which precludes battery operation.
The pressure depends on the depth of water, not the total amount in the tank. But I'm guessing that the maximum depth is about 30 to 40 cm from your pressure range. For overflow prevention a float switch may be good. Alternatives for the depth measurement include an ultrasonic distance sensor. Maybe also infrared proximity devices.
Thank you so much @Railroader. I have looked, unfortunately I haven't been able to find proper answers, but I guess sometimes you just gotta try it and see how it goes.
Pressure sensors work very well for estimating the water level, but if you mount the sensor on the output pipe, the reading will be severely reduced while the water is flowing (Bernoulli Effect).
To avoid this, either mount the sensor on the outside of the tank, away from the outlet, or use a submersible sensor (more expensive).
If you're going to use a battery, look at Nick Gammon's site - it has a section on how to reduce power consumption.
I assume in that circumstance that device A will be sleeping most of the time, so it won't respond to a ping from device B. Perhaps A can be responsible for initiating communication instead.
Do you need a real time clock somewhere in the system?
There is almost no chance to find a project that can be copied all over.
Split the project into smaller pieces like communication and tank level measuring and look for part solutions.
The volume of water when measuring pressure is not the parameter that is considered.
It is the head of water or the total depth of your tank.
You could have a 100,000litre tank and a 1,000 litre tank, if both are the same depth, then both will have the same pressure at the bottom of the tank.
It is called Hydrostatic pressure.
Hydrostatic pressure in a liquid can be calculated as
p = ρ g h where p = pressure in liquid (N/m2) ρ = [density of liquid] (kg/m3) g = acceleration of gravity (9.81 m/s2)**
h = height of fluid column - or depth in the fluid where pressure is measured (m)****
This will help you calculate the desired pressure sensor you may use.
Tom...
< sarcasm >
PS.. Sorry to the non metric people, I deleted the slugs and worms and grasshoppers and ft/s2 and Psi.
</ sarcasm >
I used an ultrasonic sensor, a LORA transmitter, a TPS5110 timer, and an Arduino NANO to measure the level of the water in my swimming pool, send it to device B, 15 meters away, and shut down for 65 minutes before the next measurement. It's running on 3 AA batteries for several months and should continue for many more months before I have to change the batteries. I can send you the code if U like. BTW, device B is near a WIFI and puts the info on ThingSpeak so I can check on my pool when I'm traveling and tell a friend to add water.
The best tank level sensor I've done is based on one of these JSN-SR04T waterproof ultrasonic distance sensors. Mine is mounted into the top of a 1,000L IBC container and measures the distance down to the water surface. I had to construct an aluminium cone to direct the sound pattern to avoid picking up the plumbing and tank sides, but the result works fine. I have it wired for continuous serial output and connected to an ATTiny85. It transmits data using a cheap OOK 433MHz radio. The whole thing is powered by 3 D-cells than can run it for ~6 months.
No, a real time clock isn't required.
Yes, I was thinking about making it such that device A would be responsible for initiating the communication. I have most parts figured now with help from people like you.