Sump Pump Water Level: the Hardware

The second part of this tutorial about the software can be found here:

https://www.instructables.com/id/Sump-pump-water-level-The-software/

What you need:


* 2  X pieces of wood 4X6. 1/4'' and the other 1/2'' thick 
* 1 X 3 inches pipe. length varies depending of the deep of your pit.
* A couple of screw
* 1 X 1k resistor
* 1  X Raspberry pi
* 1X HC-SR04 ultrasonic sensor
* Wire





Step 1: The Sensor

The sensor mesure the time it took to an ultrasound to get back to it.

Step 2: Create the Base

First, cut a 3 inches hole in the thicker 4''X6'' piece of wood. Stick the pieces of wood together.

Step 3: Prepare the Base for the Sensor.

Drill two 3/4'' hole in the center of the 3'' hole. The distance between them is 1''. Add 3 screw to hold the pipe.

Step 4: Add the Sensor

Mount the sensor on 2 spacer to keep the sensor level. Stick the sensor to the spacer with hot glue.

Step 5:

Add 8 screw to hold the wired. Optional: add a plexyglass cover to protect your masterpiece.

Step 6: Connection

How to connect to the raspberry:

Pin 1 GND: connect to the ground of the rasp.
Pin 2 Echo to gpio 9
Pin 3 Trig to gpio 11. Add a 1k resistor
Pin 4 VCC to the 3.3V 

Note 1: According to the manual, the sensor used 5v. But it work perfectly at 3.3v.

Note 2: Beware, we see the back of the sensor in this pic, so the order of the pin are reverse.

 


Step 7: Add the Pipe

Add the pipe to the controller and thighten the 3 screw.

Step 8: The Code

First, you need to save the code on the rasp with the extension *.py. Then run the command python myfile.py


Code:


#!/usr/bin/python
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#|R|a|s|p|b|e|r|r|y|P|i|-|S|p|y|.|c|o|.|u|k|
#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#
# ultrasonic_1.py
# Measure distance using an ultrasonic module
#
# Author : Matt Hawkins
# Date   : 09/01/2013

# Import required Python libraries
import time
import RPi.GPIO as GPIO

# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)

# Define GPIO to use on Pi
GPIO_TRIGGER = 11
GPIO_ECHO = 9

# You need to change the variable "compensation" according to the distance from the edge of the pit to the sensor
compensation = -11

print "Ultrasonic Measurement"

# Set pins as output and input
GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger
GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo

# Set trigger to False (Low)
GPIO.output(GPIO_TRIGGER, False)

# Allow module to settle
time.sleep(0.5)

# Send 10us pulse to trigger
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
while GPIO.input(GPIO_ECHO)==0:
  start = time.time()

while GPIO.input(GPIO_ECHO)==1:
  stop = time.time()

# Calculate pulse length
elapsed = stop-start

# Distance pulse travelled in that time is time
# multiplied by the speed of sound (cm/s)
distance = elapsed * 34000

# That was the distance there and back so halve the value
distance = distance / 2
distance = distance + compensation

print "Distance : %.1f" % distance

# Reset GPIO settings
GPIO.cleanup()



Note: You need to change the variable "compensation" according to the distance from the edge of the pit to the sensor

Note 2: The distance are in cm.

Thank to Matt Hawkins for this code

Step 9: Final Result

Voila! All you have to do now is to fixed the sensor in your pit.

Step 10: Next Tutorial

In the next week, I will show you how to present the result of the sensor on a web page.

I'm not as good as I want to in english, so feel free to send me any correction in my text. 

Share

Recommendations

  • Optics Contest

    Optics Contest
  • Make it Glow Contest 2018

    Make it Glow Contest 2018
  • Plastics Contest

    Plastics Contest

14 Discussions

0
None
LarryE1

3 years ago on Introduction

This has been intriguing project. I was able to use your idea in setting up my raspberry pi to track the water usage for my power garden. I have set up a WordPress page with MySQL on the RP to track the the current water level. The project page is at: smarttowergarden.com. I have set up a blog with hurdles that I had to overcome in order to make it work.

2 replies
0
None
LarryE1Luc Moreau

Reply 3 years ago on Introduction

Thank you for your comment. I'm currently getting the temperature from Gateway Airport. It's about 25 miles away from my home. I do have the temperature module but I have not installed it yet. Again thank you for your sump pump project. I need to look into the USB temperature sensor. I didn't know one existed. That would even work better.

thanks agin.

Larry E

0
None
narinder2015

3 years ago on Introduction

you are great. I was Looking something similar. I will contact you for more aggressive version of this project. I will also pay you if we came to some solution of my problem.

0
None
SirAremssy

3 years ago on Introduction

I dnt know if you have a better way of doing it.
All I want to do is to monitor the level of the underground tank
And show the readings on my laptop.
Even if it's gonna be ordinary digital underground measuring
Tape. Am counting on you bro. I will be waiting for you reply.

0
None
SirAremssy

3 years ago on Introduction

I dnt know if you have a better way of doing it.
All I want to do is to monitor the level of the underground tank
And show the readings on my laptop.
Even if it's gonna be ordinary digital underground measuring
Tape. Am counting on you bro. I will be waiting for you reply.

0
None
SirAremssy

3 years ago

Hello, nice work. I want to do a project that will measure an underground petrol tank and give me the readings on my laptop. Pls be my tutor for the project.. Aremsajos83@gmail.com. Thanks

2 replies
0
None
Luc MoreauSirAremssy

Reply 3 years ago on Introduction

Do you have a specific question?

Rasp Pi connect to the sensor with 5 volt. Beware of the risk of spark.

0
None
SirAremssyLuc Moreau

Reply 3 years ago on Introduction

I don't know if you have a better way if doing that.
All I want is to monitor the level of the underground tank
And show the readings on my system. It's gonna be a very profitable project if I can make it Done without any risk.

0
None
SirAremssy

3 years ago

Hello, nice work. I want to do a project that will measure an underground petrol tank and give me the readings on my laptop. Pls be my tutor for the project.. Aremsajos83@gmail.com. Thanks

0
None
stefano_62

4 years ago on Introduction

Hi, it is possible to make many sequential (4) measure and calculate the average to a better measurement?

1 reply
0
None
Luc Moreaustefano_62

Reply 4 years ago on Introduction

Hi Stephano,


Seem my first reply never appears. So it is:

What I do is the median instead of average. With average, if one data is really out of range, it will affect the average value. With the median, I'll take the middle value and if, for any reason, one the value is really out of range, it doesn't matter.

In the file sensor.py, at line 18, the loop read the distance 5 times, then sort the result and take the third value. I think more accurate this way.

for x in range(0, 5):

..

..

listvalue.append(mesurement)

listvalue.sort()

print listvalue[2]

The value[2] is the third value

0
None
foster24

4 years ago on Introduction

How long can be cable between raspberry and ultrasonic sensor? Because for me would be best option to have only sensor in well and RPi in separate dry place. Thx.

1 reply
0
None
Luc Moreaufoster24

Reply 4 years ago on Introduction

I use a 25 feet cable. For some reason, I have to power the sensor with the 5v pin. I guess it's because of the distance of the câble. It's running at home for a month now, scanning at every minute. I also add a line to the web page for auto refresh of the page at every minutes. I also add a led on the yellow and green wire. It blink when the sensor is running.