本帖最后由 sumoon_yao 于 2020-12-31 16:37 编辑
罗姆的BH1749NUC是一款数字颜色传感器芯片,带IIC总线接口,能感知RGB三色以及红外光并以数值形式输出。因项目中涉及到物体的颜色识别,故申请了此次的颜色传感器评测。 手头正好有块基于STM32F072的产品板,带有RS232串口,IIC接口(原用于外接IIC总线的EEPROM芯片),正好可以用来做为颜色传感器评测的硬件平台。
从BH1749NUC这颗芯片的手册也可以看出来,使用不是很复杂,只要设置必要的参数,然后就可以从寄存器中读取 颜色值。
在CubeMX中做好RS232串口和IIC总线接口的配置。
主程序如下:
间隔3秒采集一次传感器颜色值,程序运行结果如下图所示:
从运行结果看,当检测不同颜色的物体时,颜色值会有变化,但和手册中的典型值还有点差异,后续会进一步查找原因。
补充: 后来想到会不会是光线不足导致的传感器检测颜色数值偏小,于是给被检测物体加上照射光源,发现传感器检测颜色数值有了明显变化。
上图中3个标记框分别是检测三种不同颜色的物体得到的数值。
|