def measure_distance(trig_pin, echo_pin, num_readings=5): distances = [] for _ in range(num_readings): GPIO.output(trig_pin, True) time.sleep(0.00001) GPIO.output(trig_pin, False) pulse_start = time.time() pulse_end = time.time() while GPIO.input(echo_pin) == 0: pulse_start = time.time() while GPIO.input(echo_pin) == 1: pulse_end = time.time() pulse_duration = pulse_end - pulse_start distance = pulse_duration * 17150 # Speed of sound = 34300 cm/s distances.append(distance) avg_distance = sum(distances) / num_readings return avg_distance