import RPi.GPIO as GPIO import time import sys TRIGER = 23 ECHO = 24 GPIO.setmode(GPIO.BCM) GPIO.setup(TRIGER, GPIO.OUT) GPIO.setup(ECHO, GPIO.IN) def read_distance(): GPIO.output(TRIGER, GPIO.HIGH) time.sleep(0.00001) #wait time(10μS) GPIO.output(TRIGER, GPIO.LOW) while GPIO.input(ECHO) == GPIO.LOW: sig_off = time.time() while GPIO.input(ECHO) == GPIO.HIGH: sig_on = time.time() duration = (sig_on - sig_off) distance = duration * 34000 / 2 return distance try: while True: cm = read_distance() if cm >= 2.0 and cm <= 400.0: print('distance =', '{:.2f}'.format(cm)) time.sleep(1) except KeyboardInterrupt: GPIO.cleanup()