#温度传感器 #红外 #温度 #嵌入式HAL驱动 #温度计 #传感器 #I2C驱动

无std mlx9061x

MLX90614和MLX90615非接触式红外温度计的跨平台Rust驱动程序

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次下载

MIT/Apache

30KB
353

Rust MLX90614/MLX90615 非接触式红外温度计驱动程序

crates.io Docs Minimum Supported Rust Version Build Status Coverage Status

这是一个使用 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-2.0 许可证中定义的,均应按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~245KB