前言 感谢ROHM社区提供的传感器套件,BH1749NUC是一款颜色和红外传感器模块。 测试目标 1、依托于STM32开发板测试BH1749NUC模块,通过串口打印出传感器数据。 2、彻底的了解该模块的性能 硬件组成与连接 1、STM32F723E-DISCO开发板 2、ROHM的传感器底板Sensor Shield 3、BH1749NUC接近和光强传感器 由于STM32F723E-DISCO开发板有arduino接口,插上ROHM的传感器底板刚好合适,不需要额外的接线,十分方便,最后将我们的BH1749NUC传感器模块插入传感器底板的I2C_5接口即可。 注意需要修改传感器供电,我这里选择的是3V。 传感器认识 可以这么说,这个传感器是我花时间最少的传感器,几乎是一次就调试OK,包括看手册和写代码,也就30分钟左右的时间。 从框图上可以看到,本传感器可以采集红绿蓝三色,同时识别红外光。传感器采用IIC接口,IIC最大速度还是400KHZ,7位设备地址:0111001 寄存器也和上一章的RPR-0521RS传感器一样,分为控制寄存器、数据寄存器、和中断相关寄存器等。 各颜色增益可调,采集速度也可以设定。 整个传感器采集初始化如下: 读取RGB数据和IR数据如下: 如上图,数据是读出来了,但是让我费解的是RGB数据没单位也就算了,但是IR数据又是什么单位?GREEN2的数据又有什么用。 这些问题,在手册中几乎没有讲,也不是很明白。 最后,我特意的测试了下,使用红色图片R值确实要远大于其他值,另外,随着光强变强,R的值也跟着加强。IR的值我用火焰测试了下,确实有明显的变化。能达到2000以上。
|