Introduction: IR Sensor for Water Measuring in a Tank

Nowadays with environment changes have been changing the way how people consume water in many cities, and there are problems in water supplies daily. There is a real need to plan and check how much water you have in your water tanks.

Learn how to build a device to measure the water level available in your tank using infra red sensor and Intel Edison board.

To cover the edison board, we use a old power supply case, zip ties and a pegboard.

Step 1: Step 1: Setup / Update Your Intel Edison Board

I recommend you visit the Intel official site to see how to assemble your Intel Edison:

https://software.intel.com/en-us/assembling-intel-edison-board-with-arduino-expansion-board

For download the latest firmware version use this link:

http://downloadmirror.intel.com/24910/eng/edison-image-ww18-15.zip

The step-by-step for Mac:

https://software.intel.com/en-us/flashing-firmware...

For linux:

https://software.intel.com/en-us/flashing-firmware...

Step 2: Step 2 : Configuring the Repositories

http://alextgalileo.altervista.org/edison-package-...

Edison configuration instructions:

To configure your Edison to fetch packages from this repo, replace anything you have in /etc/opkg/base-feeds.conf with the following (other opkg config files don't need any changes):

date --set=2015-06-19

===/etc/opkg/base-feeds.conf contents below===

src/gz all http://repo.opkg.net/edison/repo/all

src/gz edison http://repo.opkg.net/edison/repo/edison

src/gz core2-32 http://repo.opkg.net/edison/repo/edison

===end of /etc/opkg/base-feeds.conf contents===

Step 3: Step 3 : Setup of Pingo and Virtual Env

opkg update

opkg install git opkg install vim git config --global user.name "[your name]" git config --global user.email "[your editor]" git config --global core.editor vim

scp ~/downloads/virtualenv-13.0.3.tar.gz root@[your IP]:/home/root tar xf virtualenv-13.0.3 python setup.py install develop

virutalenv env27 source env27/bin/activate

git clone https://github.com/pingo-io/pingo-py.git python setup.py develop

Step 4: Step 4: Programming Your Edison

import time

import math

import requests

import mraa import pyupm_i2clcd as lcd

def ratio(_value, from_min=162, from_max=299, to_min=0.0, to_max=100.0): return (float(_value - from_min) * (to_max - to_min) / (from_max - from_min) + to_min)

pin = mraa.Aio(0) myLcd = lcd.Jhd1313m1(0, 0x3E, 0x62) myLcd.setColor(0, 255, 128) while True: #url = 'http://192.128.0.148/?reading=%d' #url = 'http://127.0.0.1:5000/?reading=%d' url = 'http://ws.pinewoods.com.br/api?reading=%d' reading = 0 try: reading = pin.read() requests.post(url % reading) #requests.post(url % 666) # Debug except Exception as e: print e

myLcd.setCursor(0, 0) sensor = 'Sensor: %d' % reading myLcd.write(sensor) print sensor

myLcd.setCursor(1, 0) #distance = 87.09576644*math.exp(-0.004870217643*reading) level = ratio(reading) myLcd.write(' ') # clean myLcd.setCursor(1, 0) nivel = 'Nivel: %.2f %%' % (level) myLcd.write(nivel) print nivel

time.sleep(10)

Step 5: Step 5 : Building the Sensor Case

First, remove the electronics from your old PC power supply, we will need only the case.

Cut a piece of pegboard to just fit in your power supply case.

Using the zip ties fix your Intel Edison Board on pegboard.

Put the pegboard on the Power supply case.

Comments

author
SCKStef made it!(author)2015-06-28

Nice idea, I'm just missing some informations about the sensors and your hardware setup.

Do you have some details about the sensors and the connection of them ?

author
tomatoskins made it!(author)2015-06-23

What does this do?

About This Instructable

1,172views

10favorites

License:

More by IsmaelR3:IR Sensor for water measuring in a tank
Add instructable to: