-
Notifications
You must be signed in to change notification settings - Fork 0
/
ultrasonics.py
45 lines (34 loc) · 1.11 KB
/
ultrasonics.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Python 3 ultrasonics code
# Trigger is board number 4 (same for all)
# Echo: board number 7
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
def readSensor(Echo, Trigger):
GPIO.setup(Trigger,GPIO.OUT) # Set pin as output device
GPIO.output(Trigger, 0) # Set the trigger to low (prevents issues on start)
time.sleep(0.1)
print"Sending Trigger"
# Send pulse, wait a fraction of a second and then stop sending
GPIO.output(Trigger,1)
time.sleep(0.00001)
GPIO.output(Trigger,0)
GPIO.setup(Echo,GPIO.IN) # Set pin to input device
while GPIO.input(Echo) == 0: # While pin has no input, do nothing. Waiting for pulse to travel
pass
start = time.time() # Once the loop is broken, start timing
while GPIO.input(Echo) == 1: # Wait for input to stop
pass
stop = time.time() # stop timing
# Calculate and output distance between US and object.
elapsed = stop - start
distance = elapsed * 17000
distance = round(distance, 2)
print "got distance"
return distance
print (readSensor(7, 8))
print (readSensor(5, 8))
print (readSensor(3, 8))
time.sleep(1)
# Reset the GPIO
GPIO.cleanup()