gpt4 book ai didi

python - 使用 python 通过 BBB 读取多个超声波传感器

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:57 24 4
gpt4 key购买 nike

所以我开始使用 hc-sr04 超声波传感器并遇到了问题。我想读取多个传感器(初学者有两个),但两个传感器上的距离值相同。这是代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Adafruit_BBIO.GPIO as GPIO
import time

def distanceMeasurement(TRIG,ECHO):

GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)

while GPIO.input(ECHO) == 0:
pulseStart = time.time()
while GPIO.input(ECHO) == 1:
pulseEnd = time.time()

pulseDuration = pulseEnd - pulseStart
distance = pulseDuration * 17150
distance = round(distance, 2)
return distance

#Configuration
GPIO.setup("P9_15",GPIO.OUT) #Trigger
GPIO.setup("P9_12",GPIO.IN) #Echo
GPIO.setup("P9_11",GPIO.OUT)
GPIO.setup("P9_13",GPIO.IN)

#Security
GPIO.output("P9_11", False)
GPIO.output("P9_15", False)
time.sleep(0.5)

#main Loop
try:
while True:
for i in range(2):
if i == 0:
recoveredDistance = distanceMeasurement("P9_11","P9_13")
print "Distance1: ",recoveredDistance,"cm"
elif i == 1:
recoveredDIstance = distanceMeasurement("P9_15","P9_12")
print "Distance2: ",recoveredDistance,"cm"
time.sleep(1)
except KeyboardInterrupt:
print "Measurement stopped by user"
GPIO.cleanup()

无论传感器 2 上到物体的距离如何,我都得到相同的读数,传感器 1 中读取的距离就是两者显示的距离;似乎sensor2被忽略了。

进行一些“手动调试”(即打印 TRIG、ECHO),我注意到该函数接收了正确的参数,这是“调试”的输出:

P9_11
P9_13

Distance1: 20.79 cm
P9_15
P9_12

Distance2: 20.79 cm
P9_11
P9_13

Distance1: 20.13 cm
P9_15
P9_12

我想使用这一功能来读取所有传感器。预先感谢您

最佳答案

您将相同的结果打印两次,因为第二次测量被保存为 recoveredDIstance。所以 recoveredDistance 没有改变。 Python 区分大小写。

while True:
recoveredDistance = distanceMeasurement("P9_11","P9_13")
print "Distance1: ", recoveredDistance, "cm"
recoveredDistance = distanceMeasurement("P9_15","P9_12")
print "Distance2: ", recoveredDistance, "cm"
time.sleep(1)

关于python - 使用 python 通过 BBB 读取多个超声波传感器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45901935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com