Greeting folks,
I recently had a huge water bill ($300+) and for the life of me couldn't locate the cause right away. So I went down to the basement and did some poking around. As it turned out, I have a backup sump pump that is powered by water that was stuck in the on position. I couldn't spot it right away because not only is it super quite next to my central air unit, the drain out in the backyard was clogged with tree roots and frozen (so no soggy ground either).
This ultimately gave me the idea to make a super nerdy, over engineered way to monitor my household water usage. In my basement, I have this PEX manifold in which the main service line splits to all areas of the home needing water. This is nice because it makes it super easy to isolate each output. So the idea would be to simply tie a water flow meter to each output of the manifold and use a microcontroller such as Arduino or Particle Photon (preferred) to monitor/log/get alerts as required.
Sample water meter:
As I understand it, these use a hall effect to measure the flow of water. Now if I were to simply use one on the main, I could simply program an interrupt and start pulse counting. That's fine and dandy but I have several outputs on the manifold to monitor. In fact, I have 24 outputs (hot and cold water) to hook into. Did I already mention "Super nerdy and over engineered" yet?
So I did about 7 hours of research yesterday, and found that my initial impression of using an IO expander like the MCP23017 wouldn't cut it because they simply allow an on or off state. They would count pulses and increment accordingly. Well this is the point where I'm drawing a blank. In theory, I would need a method that if 1 or more lines are in use that I could get this data and send it over the webs for tracking and say for example a line runs for X amount of time I could receive an alert letting me know of a potential leak in X location. I could even add extra protect by using solenoid valves to cut it off from my phone (as I develop this project past step 1 of course).
Can hear from you all about your ideas to count pulses (possibly concurrently)?
I recently had a huge water bill ($300+) and for the life of me couldn't locate the cause right away. So I went down to the basement and did some poking around. As it turned out, I have a backup sump pump that is powered by water that was stuck in the on position. I couldn't spot it right away because not only is it super quite next to my central air unit, the drain out in the backyard was clogged with tree roots and frozen (so no soggy ground either).
This ultimately gave me the idea to make a super nerdy, over engineered way to monitor my household water usage. In my basement, I have this PEX manifold in which the main service line splits to all areas of the home needing water. This is nice because it makes it super easy to isolate each output. So the idea would be to simply tie a water flow meter to each output of the manifold and use a microcontroller such as Arduino or Particle Photon (preferred) to monitor/log/get alerts as required.
Sample water meter:

As I understand it, these use a hall effect to measure the flow of water. Now if I were to simply use one on the main, I could simply program an interrupt and start pulse counting. That's fine and dandy but I have several outputs on the manifold to monitor. In fact, I have 24 outputs (hot and cold water) to hook into. Did I already mention "Super nerdy and over engineered" yet?
So I did about 7 hours of research yesterday, and found that my initial impression of using an IO expander like the MCP23017 wouldn't cut it because they simply allow an on or off state. They would count pulses and increment accordingly. Well this is the point where I'm drawing a blank. In theory, I would need a method that if 1 or more lines are in use that I could get this data and send it over the webs for tracking and say for example a line runs for X amount of time I could receive an alert letting me know of a potential leak in X location. I could even add extra protect by using solenoid valves to cut it off from my phone (as I develop this project past step 1 of course).
Can hear from you all about your ideas to count pulses (possibly concurrently)?