1 个不稳定版本
0.1.0 | 2024年1月25日 |
---|
#1167 在 硬件支持
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 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,任何有意提交以包含在作品中的贡献,都将按上述方式双许可,而无需任何附加条款或条件。
依赖项
~485KB
~11K SLoC