初级会员

- 积分
- 154
- 金钱
- 154
- 注册时间
- 2018-1-23
- 在线时间
- 30 小时
|
1金钱
我按着数据手册和别人的例程写了驱动 基本能掌握情况
我做这个模块的目标是识别纯色的不发光物体 可能是塑料也可能是金属
但是我现在给通道数据做了处理之后数据乱跳 而且测出来的颜色普遍偏灰 而且我在白平衡前后根本没挪动模块也没法让3个通道都显示255
我对 并不是硬性错误,但在某些方面设置得不够好 这种事非常头疼.....麻烦大家帮忙看看 是哪里需要调整一下
我目前了解到要调的参数就是增益和积分时间 我猜可能哪里需要延时什么的....
float RC,GC,BC;
void TCS34725_Enable(void)
{
unsigned char cmd = TCS34725_ENABLE_PON;
uint16_t R,G,B,C;
AT24CXX_WriteOneByte(TCS34725_ENABLE,cmd);
delay_ms(3);
cmd = TCS34725_ENABLE_PON | TCS34725_ENABLE_AEN;
AT24CXX_WriteOneByte(TCS34725_ENABLE, cmd);
//顺路做个白平衡吧 只要255
delay_ms(10);
TCS34725_GetRawData(&R,&G,&B,&C);
RC=255/R;
GC=255/G;
BC=255/B;
}
void watch_color()
{
uint16_t R,G,B,C;
TCS34725_GetRawData(&R,&G,&B,&C);
R*=RC;
G*=GC;
B*=BC;
printf("%u %u %u %u\r\t\n",R,G,B,C);
}
这两块是我的数据处理
|
|