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次下载
25KB
275 行
Rust TMP006/B 非接触式红外(IR)热堆温度传感器驱动程序
这是一个基于 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,以适应广泛的应用。低功耗和低工作电压使该设备适用于电池供电的应用。芯片级封装的低高度可以支持标准的大批量组装方法,在测量对象间距有限的情况下非常有用。
数据表
- TMP006/B 用户手册
- TMP006 用户手册
使用示例
要使用此驱动程序,导入此包以及一个 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 License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交给作品并由您包含在内的任何贡献,应如上所述双重许可,不附加任何额外条款或条件。
依赖关系
~475KB