- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我开始使用 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/
Bigbluebutton bbb-demo 工作,而 bbb 不工作。 我无法使用麦克风,当我从服务器本身连接时出现 webrtc 错误 1004,但是当我尝试 bbb-demo 时它工作正常。 最
我正在开发一个没有架构的项目,我必须手动解析 xml 响应。我的问题是我无法使用 xml 注释获取一些值。 例如,xml如下: QUERY SUCCESS
我在服务器上使用非容器化的 Jenkins 。每次我尝试重新启动它时,它都会自动终止。 杀死 jenkins 的进程是“/var/tmp/bbb/bbb”。这个过程由 jenkins 触发,即使我试图
假设有字符串 A:B:C A:B C:B C:D:E C:D:E:F 我想将所有匹配模式“X:Y”的子字符串替换为“X:0:Y”,在这个例子中,它应该是: A:B:C A:0:B C:0:B C:D:
在我当前正在构建的 Web 应用程序中,我的客户坚持认为他能够使用逗号“,”作为分隔点来输入十进制数字。是否有相当于以下内容的注释: @DateTimeFormat(pattern = "dd/MM
我有一个设备树覆盖: /dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; part
# -*- coding: utf-8 -*- class tA(): def __init__(self): print 'AAA' def __del__(self
所以我在 BBB 上启用了 UART-1。我已经尝试将其设置为通过 termios & stty 使用标记/空格奇偶校验。根据doc它支持这一点。 termios 设置: options.c_cfla
我的本机是基于 ubuntu 的 14.04 LTS x86_64 系统,我想为 Beaglebone black 交叉编译应用程序和 QT 程序,这是一个运行在 Debian 2015 发行版上
更新:最初认为该问题与Apache Commons Config行为有关的问题。我已经更新了问题和标题,以缩小问题的重点。 我正在使用以下Apache Commons配置设置。此设置允许系统属性和/或
快速 RegExp 问题。 我必须检查给定的字符串是否包含 aaa 但不包含 bbb。我只能使用正则表达式 ( http://www.regular-expressions.info/ )。 例子:
我很难让第二个芯片选择在 Beaglebone Black 上工作。 我在我的发行版(Angstrom,内核 3.8.13)中使用了/lib/firmware 中给出的 .dts: /* * Cop
昨天我买了一个新的WLAN Nano USB Adapter (LogiLink/WL0084E/Linux应该支持)。现在我试图让它与我在 Debian Wheezy 上运行的 BBB 一起运行。首
我的程序在 BBB (debian) 上运行,并依赖于设备树覆盖 (SPI)。 覆盖层已编译并添加到/etc/default/capemgr:CAPE=BB-DSPI1。 执行使用 update-rc
目标: 使字母“bbb”可见,文本应位于图标旁边 问题: 我试图将文本移到右侧,但它不起作用。你们知道怎么做吗? JSfiddle 谢谢! #result-filters { margin:
我正在使用 RequireJS、带布局管理器的主干样板、JamJS 来帮助管理包,并且在开发中一切正常,但是当我尝试创建一个包含串联文件的生产版本时,它不起作用。 看起来我的配置中的 shim 可能没
我已经使用平台设备模型为我的自定义协议(protocol)成功实现了基于 GPIO 的驱动程序。我想使用设备树方法升级它。因此,对于初学者来说,我有一个黑色的 beaglebone,并且我已经使用设备
我有这段代码(在 Selenium IDE 中):storeEval | window.document.defaultView.getComputedStyle(window.document.ge
我在阅读 Dropbox API 时发现了这一行: NSString* title = [[DBSession sharedSession] isLinked] ? @"Unlink Dropbox"
所以我开始使用 hc-sr04 超声波传感器并遇到了问题。我想读取多个传感器(初学者有两个),但两个传感器上的距离值相同。这是代码: #!/usr/bin/env python # -*- codin
我是一名优秀的程序员,十分优秀!