#raspberry-pi #sensor #distance #ultrasonic #gpio-pin

hc-sr04

Raspberry Pi 对 HC-SR04 超声波距离传感器的 Rust 驱动程序

3 个版本

0.1.2 2024年5月2日
0.1.1 2023年3月25日
0.1.0 2022年9月23日

#1306 in 硬件支持

GPL-3.0-only

18KB
85

HC-SR04

GitHub source size GitHub open issues GitHub open pull requests GitHub sponsors Crates.io downloads Crates.io version GitHub license

本crate提供用于Raspberry Pi上HC-SR04/HC-SR04P超声波距离传感器的驱动程序,使用rppal访问Raspberry Pi的GPIO。

示例

使用示例可以在示例文件夹中找到。

测量距离

use hc_sr04::{HcSr04, Unit};

// Initialize driver.
let mut ultrasonic = HcSr04::new(
    24,          // TRIGGER -> Gpio pin 24
    23,          // ECHO -> Gpio pin 23
    Some(23_f32) // Ambient temperature (if `None` defaults to 20.0C)
).unwrap();

// Perform distance measurement, specifying measuring unit of return value.
match ultrasonic.measure_distance(Unit::Meters).unwrap() {
    Some(dist) => println!("Distance: {.2}m", dist),
    None => println!("Object out of range"),
}

校准测量

可以使用此库公开的HcSr04::calibrate方法在运行时校准距离测量,传递当前环境温度作为f32

use hc_sr04::{HcSr04, Unit};

// Initialize driver.
let mut ultrasonic = HcSr04::new(24, 23, None).unwrap();

// Calibrate measurement with ambient temperature.
ultrasonic.calibrate(23_f32);

// Perform distance measurement.
match ultrasonic.measure_distance(Unit::Centimeters).unwrap() {
    Some(dist) => println!("Distance: {.1}cm", dist),
    None => println!("Object out of range"),
}

依赖项

~360KB