4个版本 (2个破坏性更新)
0.3.0 | 2024年5月23日 |
---|---|
0.2.1 | 2023年6月2日 |
0.2.0 | 2021年5月22日 |
0.1.0 | 2020年7月29日 |
#1 in #红外
每月26次下载
30KB
353 行
Rust MLX90614/MLX90615 非接触式红外温度计驱动程序
这是一个使用 embedded-hal
特性的、适用于MLX90614/MLX90615红外温度计的跨平台Rust驱动程序。
此驱动程序允许您
- 读取最后一个物体温度测量值。参见:
object1_temperature()
。 - 读取最后一个环境温度测量值。参见:
ambient_temperature()
。 - 读取最后一个原始红外测量值。参见:
raw_ir_channel1()
。 - 获取/设置发射率。参见:
set_emissivity()
。 - 获取设备ID。参见:
device_id()
。 - 设置设备地址。参见:
set_address()
。 - 将设备置于睡眠状态。参见:
sleep()
。 - 从睡眠中唤醒设备。参见:
wake_mlx90614()
。
MLX90614/MLX90615是非接触式温度测量的红外温度计。红外敏感的热电堆检测芯片和信号条件ASSP集成在相同的TO-39/TO-46管壳中。得益于其低噪声放大器、17位/16位ADC和强大的DSP单元,实现了高精度和高分辨率的温度计。
根据MLX90614的型号,它们具有单区域或双区域热电堆。
这些芯片具有10位PWM和SMBus接口。
读出分辨率为0.01°C(MLX90614)/ 0.02°C(MLX90615)。
此驱动程序使用SMBus接口。
文档
用法
要使用此驱动程序,请导入此包和 嵌入式HAL
实现,然后实例化适当的设备。
请在此存储库中找到使用硬件的更多示例: driver-examples
use linux_embedded_hal::I2cdev;
use mlx9061x::{Mlx9061x, SlaveAddr};
fn main() {
let dev = I2cdev::new("/dev/i2c-1").unwrap();
let addr = SlaveAddr::default();
let mut sensor = Mlx9061x::new_mlx90614(dev, addr, 5).unwrap();
loop {
let obj_temp = sensor.object1_temperature().unwrap();
println!("Object temperature: {:.2}ºC", obj_temp);
}
}
功能
defmt-03
要启用 defmt (版本 0.3.x
) 支持,当指定对 mlx9061x
的依赖项时,添加功能 "defmt-03
"。
[dependencies]
mlx9061x = { version = "0.3.0", features = ["defmt-03"] }
支持
有关问题、问题、功能请求和其他更改,请在此 github 项目中提交 问题。
许可证
根据以下任一项获得许可:
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
根据您的选择。
贡献
除非您明确表示,否则任何旨在包含在您的工作中的贡献,如 Apache-2.0 许可证中定义的,均应按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~245KB