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

罗伯托·科尔多瓦

所以我开始使用 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)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何与HM-19 BLE模块通讯并使用超声波传感器进行扫描

来自分类Dev

在树莓派中使用超声波传感器测量距离

来自分类Dev

我可以在使用Arduino超声波传感器处理移动/播放时制作图像序列吗?

来自分类Dev

我可以在使用Arduino超声波传感器处理移动/播放时制作图像序列吗?

来自分类Dev

为什么使用arduino uno,sr04超声波传感器和9个led不能使用此代码?

来自分类Dev

我有一张图片 18F4550 如何从超声波传感器读取距离

来自分类Dev

超声波传感器HC-SR04 + Arduino计算?

来自分类Dev

Arduino UNO +以太网屏蔽+超声波传感器=失败

来自分类Dev

arduino uno和超声波传感器的结果不正确

来自分类Dev

在特定区域内分布许多超声波传感器

来自分类Dev

当脚本在tmux中运行时使用python写入传感器读取

来自分类Dev

使用 BBG 和 python 连接高温传感器?

来自分类Dev

Python:用树莓派将传感器数据推送到xively时出错TypeError:__init __()

来自分类Dev

我可以使用 FFMPEG 来录制超声波吗?

来自分类Dev

在 NodeMCU 中使用 Micropython 访问多个传感器值?

来自分类Dev

用传感器唤醒XBee

来自分类Dev

使用python的传感器数据和命令传输的客户端-服务器协议

来自分类Dev

上树莓裨使用Python最有效的方式来存储数据从传感器

来自分类Dev

用python读取xbrl

来自分类Dev

RequireJS优化器配置出现问题,bbb发布

来自分类Dev

用python读取多个zip存档注释

来自分类Dev

Kivy - 用传感器数据更新标签?

来自分类Dev

i2c使用Netduino从传感器读取数据

来自分类Dev

在Windows IoT上使用MAX31855热电偶传感器读取温度

来自分类Dev

使用i2C接口读取ADT7420温度传感器

来自分类Dev

如何使用光敏传感器?

来自分类Dev

使用 IPMITOOL 禁用风扇传感器

来自分类Dev

使用Python Matplotlib在3D轴上为振动传感器读数创建动画散点图

来自分类Dev

用python读取ms字

Related 相关文章

  1. 1

    如何与HM-19 BLE模块通讯并使用超声波传感器进行扫描

  2. 2

    在树莓派中使用超声波传感器测量距离

  3. 3

    我可以在使用Arduino超声波传感器处理移动/播放时制作图像序列吗?

  4. 4

    我可以在使用Arduino超声波传感器处理移动/播放时制作图像序列吗?

  5. 5

    为什么使用arduino uno,sr04超声波传感器和9个led不能使用此代码?

  6. 6

    我有一张图片 18F4550 如何从超声波传感器读取距离

  7. 7

    超声波传感器HC-SR04 + Arduino计算?

  8. 8

    Arduino UNO +以太网屏蔽+超声波传感器=失败

  9. 9

    arduino uno和超声波传感器的结果不正确

  10. 10

    在特定区域内分布许多超声波传感器

  11. 11

    当脚本在tmux中运行时使用python写入传感器读取

  12. 12

    使用 BBG 和 python 连接高温传感器?

  13. 13

    Python:用树莓派将传感器数据推送到xively时出错TypeError:__init __()

  14. 14

    我可以使用 FFMPEG 来录制超声波吗?

  15. 15

    在 NodeMCU 中使用 Micropython 访问多个传感器值?

  16. 16

    用传感器唤醒XBee

  17. 17

    使用python的传感器数据和命令传输的客户端-服务器协议

  18. 18

    上树莓裨使用Python最有效的方式来存储数据从传感器

  19. 19

    用python读取xbrl

  20. 20

    RequireJS优化器配置出现问题,bbb发布

  21. 21

    用python读取多个zip存档注释

  22. 22

    Kivy - 用传感器数据更新标签?

  23. 23

    i2c使用Netduino从传感器读取数据

  24. 24

    在Windows IoT上使用MAX31855热电偶传感器读取温度

  25. 25

    使用i2C接口读取ADT7420温度传感器

  26. 26

    如何使用光敏传感器?

  27. 27

    使用 IPMITOOL 禁用风扇传感器

  28. 28

    使用Python Matplotlib在3D轴上为振动传感器读数创建动画散点图

  29. 29

    用python读取ms字

热门标签

归档