Code Monkey home page Code Monkey logo

watertankdepthsensor's Introduction

Water Tank Depth Sensor
=======================

Copyright 2009 Jonathan Oxer
Copyright 2009 Hugh Blemings

+---------------------------------------------------------------------+
| This project is featured in the book "Practical Arduino" by         |
| Jonathan Oxer and Hugh Blemings (Apress, 2009). More information    |
| about the book and this project is available at:                    |
|                                                                     |
|  www.practicalarduino.com/projects/water-tank-depth-sensor          |
+---------------------------------------------------------------------+

Water is a precious resource in many parts of the world, and many
people rely on water tanks to supplement their water supply by storing
collected rainwater or water pumped from a well or bore. But how do you
measure how full a tank is? Tanks are constructed of opaque material to
prevent algae growth and often kept closed up to prevent mosquito
infestation or access by small rodents so it's inconvenient to
physically look inside. And besides, having a way to measure tank depth
electronically opens up a world of possibilities such as automatic
control of pumps to top up tanks when they get low or to disable
irrigation systems when not enough water is available.

The obvious way to measure tank depth is by placing a series of
conductive pickups at various heights inside the tank and measure the
resistance between them. For example, placing ten exposed terminals at
equal intervals attached to a length of material such as PVC tubing and
inserting it into the tank will allow you to measure the depth in 10%
increments by reading the resistance between the bottom terminal and
each of the terminals above it. The downside to this approach though is
that you'll need to do a lot of wiring and you'll also need to read an
analogue input for every individual terminal - while most Arduino
designs have no more than 6 analogue inputs.

This project works a little differently. It uses a device called a
differential pressure transducer to measure the water pressure at the
bottom of the tank, and from that to calculate how full the tank is.
Water pressure increases by about 9.8067kPa per meter of depth so a
full tank 2m tall will have a pressure at the bottom of about
19.6134kPa above ambient atmospheric pressure. The "above ambient
atmospheric pressure" part is important: it's not enough to simply
measure the pressure at the bottom of the tank because varying
climate conditions will alter the reading. That's why this project uses
a "differential" pressure transducer that has two inlets. By leaving one
inlet open to the atmosphere and connecting the other to the bottom of
the tank the transducer will output the difference between the two,
automatically compensating for varying air pressure and giving a
constant reading for constant depth.

The Arduino then reads the output of the transducer and reports the
depth of the tank. In this project we will use a WiShield that provides
WiFi network connectivity to report the current water level using a
web interface.

watertankdepthsensor's People

Contributors

jonoxer avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.