本帖最后由 戟战士 于 2022-3-12 14:35 编辑
一、简介
颜色传感器评估板使用的是BH1749NUC传感器。该传感器是一个数字颜色传感器,能够检测红光、绿光、蓝光以及红外光,单位是照度(lx),也就是光照强度。通过I2C总线进行通讯,有1个地址引脚,总线上可同时连接2个设备。
工作电压范围:2.3V~3.6V。
照度检测范围:最大80klx。
工作温度范围:-40℃~+85℃。
二、引脚说明
BH1749NUC引脚图
引脚描述
Pin1:ADDR。地址引脚。可通过地址引脚设置设备在总线中的地址。
Pin2:VCC。电源。
Pin3:GND。电源地。
Pin4:TEST。测试引脚。接地。
Pin5:串行总线数据引脚。用于I2C总线进行数据传输。
Pin6:串行总线时钟引脚。用于I2C总线进行数据传输时提供时钟脉冲。 Pin7:INT。中断引脚。
Pin8:NC。该引脚不需要连接。
三、寄存器
BH1749NUC寄存器
寄存器地址0x40:系统控制寄存器。
SW RESET:软件复位。所有寄存器复位,'0'复位未完成,'1'复位完成。
INT RESET:中断复位。'0'中断引脚状态无变化,'1'使中断引脚为高阻态。
PART ID[5:0]:0X0D(只读)
寄存器地址0x41:模式控制寄存器1。
IR GAIN[1:0]:红外光增益。'01'1倍增益,'11'32倍增益。
RGB GAIN[1:0]:红光、绿光、蓝光增益。'01'1倍增益,'11'32倍增益。
MEASUREMENT MODE[2:0]:测量模式。'010'120ms模式,'011'240ms模式,'101'35ms模式。(测量间隔)
寄存器地址0x42:模式控制寄存器2。
VALID:测量数据更新时该位变为'1'。
RGB_EN:RGB使能。'0'关闭测量并关闭电源,'1'使能测量。
寄存器地址0x50-0x51:红光数据寄存器。
RED_DATA[15:0]:红光数据。最小单位为0.0125lx。
寄存器地址0x52-0x53:绿光数据寄存器。
RED_DATA[15:0]:绿光数据。最小单位为0.0125lx。
寄存器地址0x54-0x55:蓝光数据寄存器。
RED_DATA[15:0]:蓝光数据。最小单位为0.0125lx。
寄存器地址0x58-0x59:红外光数据寄存器。
RED_DATA[15:0]:红外光数据。最小单位为0.0125lx。
寄存器地址0x5A-0x5B:绿光数据寄存器2。
RED_DATA[15:0]:绿光数据2。最小单位为0.0125lx。
寄存器地址0x60:中断寄存器。
INT STATUS:中断状态输出(只读)。'0'无效信号,'1'有效信号。
INT SOURCE[1:0]:中断源。'00'红光通道,'01'绿光通道,'10'蓝光通道。
INT ENABLE:中断使能。'0'失能,'1'使能。
寄存器地址0x61:持续寄存器。
PERSISTENCE[1:0]:'00'每次完成测量产生有效信号,'01'每次测量完成更新中断状态,'10'4次测量结果在同一区间更新中断状态,'11'8次测量结果在同一区间更新中断状态。(第一种用于判断是否检测完成,其他几种用于设定阈值检测)
寄存器地址0x62-0x63:中断阈值上限寄存器。
TH_HIGH[15:0]:中断阈值上限。最小单位为0.0125lx。
寄存器地址0x64-0x65:中断阈值下限寄存器。
TH_LOW[15:0]:中断阈值下限。 最小单位为0.0125lx。
寄存器地址0x92:制造商ID寄存器。
MANUFACTURER_ID[7:0]:制造商ID:0xE0。
PS:
1.设备地址为0111001。
2.编写程序可以参考例程。
3.I2C通讯方式以及Arduino相关函数可参考温度传感器评估板。