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

无std veml6040

适用于VEML6040 RGBW颜色光传感器的跨平台Rust驱动程序

2个版本

0.1.1 2021年1月25日
0.1.0 2018年10月23日

#7 in #light-sensor

每月下载量 36

MIT/Apache

16KB
152 代码行

Rust VEML6040 RGBW颜色传感器驱动程序

crates.io Docs Build Status Coverage Status

这是一个基于embedded-hal traits的,适用于VEML6040 RGBW颜色光传感器的跨平台Rust驱动程序。

此驱动程序允许您:

  • 启用/禁用传感器。
  • 设置积分时间。
  • 设置测量模式。
  • 在手动模式下触发测量。
  • 读取红色通道测量值。
  • 读取绿色通道测量值。
  • 读取蓝色通道测量值。
  • 读取白色通道测量值。
  • 一次性读取所有通道的测量值。

设备

VEML6040颜色传感器可以感应红、绿、蓝和白色光,并使用CMOS工艺将光电二极管、放大器和模拟/数字电路集成到单个芯片中。应用颜色传感器后,可以根据环境光源调整背光的亮度和色温,使面板对最终用户的眼部更为舒适。VEML6040采用Filtron TM技术,实现了与真实人眼响应最接近的环境光光谱灵敏度。VEML6040具有出色的温度补偿能力,可以在温度变化时保持输出稳定。VEML6040的功能可以通过简单的I2C(SMBus兼容)接口协议命令格式轻松操作。VEML6040的工作电压范围为2.5 V至3.6 V。

数据表: VEML6040

应用笔记: VEML6040 AN

使用方法

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

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

use linux_embedded_hal::I2cdev;
use veml6040::Veml6040;

fn main() {
    let dev = I2cdev::new("/dev/i2c-1").unwrap();
    let mut sensor = Veml6040::new(dev);
    sensor.enable().unwrap();

    let red = sensor.read_red_channel().unwrap();
    let green = sensor.read_green_channel().unwrap();
    let blue = sensor.read_blue_channel().unwrap();
    let white = sensor.read_white_channel().unwrap();

    println!(
        "Measurements: R: {}, G: {}, B: {}, W: {}",
        red, green, blue, white
    );
}

支持

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

许可证

根据您的选择,许可如下:

贡献

除非您明确声明,否则您根据Apache-2.0许可协议定义的,有意提交以包含在作品中的任何贡献,应如上所述双授权,不附加任何其他条款或条件。

依赖项

~71KB