0

我正在尝试将 HC-SR04 距离传感器与 AIY 语音套件一起使用。我使用了下图链接中的设置,除了使用阀帽 PIN_A 和 PIN_B 而不是 RPi GPIO23 和 24,我使用了 1000 欧姆和 2000 欧姆电阻器作为分压器(而不是 330 和 470)。

gpiozero docs 距离传感器基本配方

这是我的脚本:

from gpiozero import DistanceSensor
from time import sleep
from aiy.pins import PIN_A
from aiy.pins import PIN_B

sensor = DistanceSensor(echo=PIN_A, trigger=PIN_B)

while True:
    print('Distance to nearest object is ', sensor.distance, 'm')
    sleep(1)

当我运行它时,我收到以下错误:

回溯(最后一次调用):文件“sensor_demo.py”,第 6 行,传感器 = DistanceSensor(echo=PIN_A, trigger=PIN_B) 文件“/usr/lib/python3/dist-packages/gpiozero/devices.py” ,第 124 行,调用 self = super(GPIOMeta, cls).call(*args, **kwargs) 文件“/usr/lib/python3/dist-packages/gpiozero/input_devices.py”,第 856 行,在 init 部分=partial, ignore=frozenset({None}), pin_factory=pin_factory 文件“/usr/lib/python3/dist-packages/gpiozero/input_devices.py”,第 277 行,在 init pin_factory=pin_factory) 文件“/usr/lib /python3/dist-packages/gpiozero/mixins.py”,第 197 行,在 init super(EventsMixin, self).init(*args, **kwargs) 文件“/usr/lib/python3/dist-packages/gpiozero/ input_devices.py”,第 103 行,在 init self.pin.pull = pull File “/usr/lib/python3/dist-packages/gpiozero/pins/init.py", 第 337 行, in lambda self, value: self._set_pull(value), File "/home/pi/AIY-projects-python/src/aiy/pins.py", 第 605 行, in _set_pull '只上拉现在支持 (%s)' % pull) gpiozero.exc.PinFixedPull: 现在只支持上拉(下)

当我直接在 RPi 1 B+ 上运行它(使用 RPi GPIO 引脚)时,它工作正常,所以我认为它与引擎盖上的 GPIO 扩展引脚有关,尤其是当它们用于输入时,比如这里这里这里。

有什么方法可以使用 GPIO 扩展引脚,还是我必须将 RPi 0 开箱即用并使用它的引脚?

4

1 回答 1

0

我分析了错误并浏览了 gpiozero 文档。所以根据 PinFixedPull 错误

尝试使用固定上拉设置引脚的拉动时引发错误

因此,这很可能是引脚的物理硬件问题,因为它在您的错误中说正确的是仅支持上拉。

于 2020-09-04T01:26:37.253 回答