#driver #i2c-driver #sensor #i2c #embedded-hal-driver #color

无std tcs3472

适用于带IR滤波器的TCS3472 RGB光数字转换器的跨平台Rust驱动程序

3个不稳定版本

0.2.0 2021年4月5日
0.1.1 2018年10月21日
0.1.0 2018年10月20日

2245 in 嵌入式开发

每月下载量42

MIT/Apache

27KB
262

Rust TCS3472 RGB光数字转换器带IR滤波器驱动程序

crates.io Docs Build Status Coverage Status

这是一个基于embedded-hal特质的TCS3472 RGB光数字转换器驱动程序,具有IR滤波器,且与平台无关。

此驱动程序允许您

  • 启用/禁用设备。
  • 启用/禁用RGB转换器。
  • 设置RGB转换器增益。
  • 启用/禁用RGB转换器中断生成。
  • 设置RGB转换器中断清除通道的低/高阈值。
  • 设置RGB转换器中断持久性。
  • 设置积分周期数。
  • 启用/禁用等待功能。
  • 设置等待时间周期数。
  • 启用/禁用“等待长”设置。
  • 读取RGB转换器状态。
  • 读取清除(未过滤)通道测量值。
  • 读取红色通道测量值。
  • 读取绿色通道测量值。
  • 读取蓝色通道测量值。
  • 一次性读取所有通道的测量值。
  • 读取设备ID。

该设备

TCS3472设备提供红、绿、蓝(RGB)和清晰光传感值的数字返回。芯片上集成的红外阻挡滤波器,位于颜色传感光电二极管附近,最小化入射光的红外光谱成分,并允许准确进行颜色测量。高灵敏度、宽动态范围和红外阻挡滤波器使TCS3472成为在各种照明条件下和通过衰减材料使用的理想颜色传感器解决方案。

TCS3472颜色传感器应用广泛,包括RGB LED背光控制、固态照明、健康/健身产品、工业过程控制和医疗诊断设备。此外,红外阻挡滤波器使TCS3472能够执行环境光感应(ALS)。环境光感应在基于显示的产品(如手机、笔记本电脑和电视)中得到了广泛应用,用于感应光照环境并实现自动显示亮度,以获得最佳观看效果和节省能源。TCS3472本身可以在光感应测量之间进入低功耗的等待状态,从而进一步降低平均功耗。

数据表

此驱动程序与TCS34725和TCS34727设备兼容。

使用方法

要使用此驱动程序,请导入此crate和一个 embedded_hal 实现,然后实例化设备。

请在此仓库中找到使用硬件的附加示例:driver-examples

use linux_embedded_hal::I2cdev;
use tcs3472::Tcs3472;

fn main() {
    let dev = I2cdev::new("/dev/i2c-1").unwrap();
    let mut sensor = Tcs3472::new(dev);
    sensor.enable().unwrap();
    sensor.enable_rgbc().unwrap();
    while !sensor.is_rgbc_status_valid().unwrap() {
        // wait for measurement to be available
    }
    let m = sensor.read_all_channels().unwrap();
    println!(
        "Measurements: clear = {}, red = {}, green = {}, blue = {}",
        m.clear, m.red, m.green, m.blue
    );
}

最小支持的Rust版本(MSRV)

此crate保证在稳定的Rust 1.31.0及以上版本上编译。它可能适用于较旧版本,但在任何新的补丁版本中可能会发生变化。

支持

有关问题、问题、功能请求和其他更改,请在此github项目中提交一个 问题

许可

根据您的要求,许可如下

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您提交的任何旨在包含在作品中的贡献,均应按上述方式双重许可,不附加任何额外的条款或条件。

依赖关系

~71KB