#温度湿度 #湿度传感器 #温度 #湿度 #传感器 #嵌入式HAL

无需std embedded-sht3x

SHT3x 温湿度传感器的跨平台 Rust 驱动程序

1 个不稳定版本

0.1.0 2024年1月25日

#1167硬件支持

MIT/Apache

28KB
424

这是一个跨平台的 Rust 驱动程序,用于 SHT3x (SHT30、SHT31 和 SHT35) 数字湿度温度传感器,使用 embedded-hal 特性。

设备

SHT3x 系列传感器是湿度和温度传感器,具有完全校准,并能够在 2.15 V 至 5.5 V 的广泛供电电压下工作,并使用 I²C 接口。

它们具有快速启动和测量时间,以及很高的精度。典型精度如下

SHT30 SHT31 SHT35
±2 %RH / ±0.2 °C ±2 %RH / ±0.2 °C ±1.5 %RH / ±0.1 °C

SHT3x 配备有内部加热器,可以增加几摄氏度的温度,这对于暂停性检查很有用。

文档

特性

  • 获取传感器的状态。
  • 清除传感器的状态。
  • 启用内部加热器。
  • 禁用内部加热器。
  • 执行单次温度和相对湿度测量。
  • 执行软件设置。
  • 在 °C 和 °F 之间转换温度。
  • 从测量值计算绝对湿度。
  • 执行温度和相对湿度的周期性测量。
  • 包括没有浮点数的变体,适用于没有 fpu 的系统。

使用方法

要使用此驱动程序,从该crate导入所需的模块以及 embedded-hal 实现并实例化设备。

use embedded_sht3x::{Repeatability::High, Sht3x, DEFAULT_I2C_ADDRESS};
use linux_embedded_hal as hal;

fn main() -> Result<(), embedded_sht3x::Error<hal::I2CError>> {
    // Create the I2C device from the chosen embedded-hal implementation,
    // in this case linux-embedded-hal
    let i2c = match hal::I2cdev::new("/dev/i2c-1") {
        Err(err) => {
            eprintln!("Could not create I2C device: {}", err);
            std::process::exit(1);
        }
        Ok(i2c) => i2c,
    };

    // Create the sensor and configure its repeatability
    let mut sensor = Sht3x::new(i2c, DEFAULT_I2C_ADDRESS, hal::Delay {});
    sensor.repeatability = High;

    // Perform a temperature and humidity measurement
    let measurement = sensor.single_measurement()?;
    println!(
        "Temperature: {:.2} °C, Relative humidity: {:.2} %",
        measurement.temperature, measurement.humidity
    );
    Ok(())
}

许可

许可方式为以下之一

任选其一。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,任何有意提交以包含在作品中的贡献,都将按上述方式双许可,而无需任何附加条款或条件。

依赖项

~485KB
~11K SLoC