跳转到主要内容

CircuitPython库,用于控制HC-SR04超声波距离传感器。

项目描述

简介

Documentation Status Discord Build Status Code Style: Black HC-SR04 Product Image

HC-SR04是一种使用微控制器测量距离的廉价解决方案。此库提供从CircuitPython控制这些传感器的简单驱动程序。

依赖关系

此驱动程序依赖于

请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载Adafruit库和驱动程序包轻松实现。

从PyPI安装

在支持的GNU/Linux系统(如树莓派)上,您可以从PyPI本地安装驱动程序。从PyPI安装。为当前用户安装

pip3 install adafruit-circuitpython-hcsr04

为系统安装(在某些情况下可能需要)

sudo pip3 install adafruit-circuitpython-hcsr04

在当前项目的虚拟环境中安装

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-hcsr04

使用示例

您需要为与HC-SR04通信分配两个引脚。该传感器以非常原始的方式进行通信,因此您可以选择任何引脚,只要它们是数字IO引脚(以“D”开头的引脚是数字)。

创建HCSR04对象有两种方式:使用或不使用上下文管理器。

参见

Adafruit关于生命周期和上下文管理器的指南

提供有关使用CircuitPython驱动程序与上下文管理器一起使用的更多信息。

您设备上可用的引脚列表。要查看此列表,首先获取REPL(链接的指南是为pyboard编写的,但仍然有效),然后输入以下内容

import board
dir(board)

无上下文管理器

在下面的示例中,我们直接创建HCSR04对象,每2秒获取一次距离。

import time
import board
import adafruit_hcsr04

sonar = adafruit_hcsr04.HCSR04(trigger_pin=board.D5, echo_pin=board.D6)

while True:
    try:
        print((sonar.distance,))
    except RuntimeError:
        print("Retrying!")
    time.sleep(2)

使用上下文管理器

在下面的示例中,我们使用上下文管理器(with语句)创建HCSR04实例,再次每2秒获取距离,然后上下文管理器会为我们处理设备的去初始化。

import board
from adafruit_hcsr04 import HCSR04
with HCSR04(trigger_pin=board.D5, echo_pin=board.D6) as sonar:
    try:
        while True:
            print(sonar.distance)
            sleep(2)
    except KeyboardInterrupt:
        pass

文档

此库的API文档可以在Read the Docs上找到。

有关构建库文档的信息,请参阅此指南

贡献

欢迎贡献!请在贡献之前阅读我们的行为准则,以帮助保持本项目的开放性。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪一个,请了解更多关于安装包的信息。

源分布

adafruit-circuitpython-hcsr04-0.4.18.tar.gz (284.0 kB 查看哈希值)

上传时间

构建分布

由以下提供支持