#temperature-sensor #temperature #sensor #driver #embedded-hal-driver #thermopile

no-std tmp006

适用于TMP006/TMP006B非接触式红外(IR)热堆温度传感器的跨平台Rust驱动程序

3个版本 (1个稳定版本)

1.0.0 2024年2月12日
0.2.0 2021年9月23日
0.1.0 2018年12月7日

#4 in #temperature-sensor

每月33次下载

MIT/Apache

25KB
275

Rust TMP006/B 非接触式红外(IR)热堆温度传感器驱动程序

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

这是一个基于 embedded-hal 特性的、适用于TMP006/TMP006B非接触式红外(IR)热堆温度传感器的跨平台Rust驱动程序。

此驱动程序允许您

  • 启用/禁用设备。请参阅:enable()
  • 读取目标温度。请参阅:read_object_temperature()
  • 读取目标电压和环境温度原始数据。请参阅:read_sensor_data()
  • 从传感器原始数据中计算目标温度。请参阅:calculate_object_temperature()
  • 设置ADC转换率。请参阅:set_conversion_rate()
  • 启用/禁用DRDY引脚。请参阅:enable_drdy_pin()
  • 读取数据是否准备好读取。请参阅:is_data_ready()
  • 执行软件重置。请参阅:reset()
  • 读取制造商ID。请参阅:read_manufacturer_id()
  • 读取设备ID。请参阅:read_device_id()

介绍性博客文章

设备

TMP006和TMP006B是系列温度传感器中的第一个,它可以测量对象的温度,而无需与对象接触。该传感器使用热堆来吸收被测对象发出的红外能量,并利用热堆电压的变化来确定对象温度。

红外传感器的电压范围规定为-40°C至+125°C,以适应广泛的应用。低功耗和低工作电压使该设备适用于电池供电的应用。芯片级封装的低高度可以支持标准的大批量组装方法,在测量对象间距有限的情况下非常有用。

数据表

使用示例

要使用此驱动程序,导入此包以及一个 embedded_hal 实现,然后实例化设备。

请在此存储库中查找更多示例: driver-examples

use linux_embedded_hal::I2cdev;
use nb::block;
use tmp006::{SlaveAddr, Tmp006};

fn main() {
    let dev = I2cdev::new("/dev/i2c-1").unwrap();
    let address = SlaveAddr::default();
    let mut sensor = Tmp006::new(dev, address);
    let calibration_factor = 6e-14;
    let temperature = block!(sensor
        .read_object_temperature(calibration_factor))
        .unwrap();
    println!("Temperature: {}K", temperature);
}

支持

对于问题、问题、功能请求和其他更改,请在此 GitHub 项目中提交 问题

许可

许可如下

任选其一。

贡献

除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交给作品并由您包含在内的任何贡献,应如上所述双重许可,不附加任何额外条款或条件。

依赖关系

~475KB