自制柔性FPC颜色测量仪:小巧精准,万物皆可"取色"
摘要:基于AMS TCS34725FN高精度颜色传感器,采用柔性FPC板设计,打造一款可弯折、可贴附、应用场景极其灵活的颜色测量小工具。支持I²C通信、USB供电,轻松集成到各种项目中。
一、项目背景
生活中处处是颜色------调色、印染、皮肤检测、水质分析、果实成熟度判断......这些场景都需要精准的颜色数据,而非人眼的主观判断。
市面上专业的色度计动辄上千元,而本文介绍的这款DIY颜色测量仪,成本不过几十元,却能实现实验室级别的RGB和色温测量。最大亮点是采用了柔性FPC(Flexible Printed Circuit)板设计,传感器部分可以随意弯折、贴附到被测物体表面,真正做到了"万物皆可测"。
二、硬件方案总览
项目采用分体式双板设计:
| 模块 | 说明 |
|---|---|
| 主板 | 集成MCU、USB接口、LDO电源、I²C上拉等核心电路 |
| 传感器子板 | 搭载TCS34725FN颜色传感器,通过柔性FPC与主板连接 |


这种分体设计的巧妙之处在于:
- 柔性连接:FPC排线可以弯折到任意角度,适应狭窄或不规则空间
- 贴近测量:传感器子板小巧轻薄,可直接贴在被测物表面
- 热隔离:传感器远离主板热源,避免温漂对测量精度的影响
- 易于集成:传感器模块可作为独立组件嵌入其他设备
三、核心器件:TCS34725FN
TCS34725FN 是 AMS(艾迈斯半导体) 出品的高灵敏度颜色传感器,主要特性:
- 4通道传感:红®、绿(G)、蓝(B)、全透(Clear) 四通道独立输出
- 高动态范围:内置积分时间可调和增益控制,适应从暗光到强光环境
- 16位ADC:每通道最大分辨率为65535 counts
- I²C接口:标准I²C通信,3.3V供电,几乎兼容所有MCU
- 内置IR滤光片:有效消除红外干扰,保证颜色还原准确度
- 超小封装:FN封装仅2.0mm × 2.4mm
四、PCB设计细节
4.1 主板
△ 主板顶层
主板的设计要点:
- USB Type-C供电:5V输入经LDO稳压至3.3V,为系统和传感器供电
- MCU最小系统:包含晶振、复位、调试接口,方便二次开发
- I²C接口引出:预留SDA/SCL排针,可级联其他I²C传感器
- LED指示灯:电源指示和数据就绪指示
△ 主板3D预览
4.2 传感器子板
传感器子板采用极简设计,核心就是一颗TCS34725FN芯片,配合必要的去耦电容和I²C上拉电阻。板子尺寸仅约 10mm × 8mm,FPC延长线长度可按需定制。
△ 传感器子板3D
PCB布局小Tips:
- 传感器周围做开槽处理,减少PCB基材对侧光的干扰
- FPC弯折半径控制在5mm以上,避免铜箔断裂
- 传感器焊盘采用沉金工艺,保证焊接可靠性
五、软件驱动
TCS34725FN的驱动非常简单,I²C地址为0x29,核心寄存器就几个:
c
// 初始化传感器
void TCS34725_Init(void) {
// 设置积分时间 (0x00 = 2.4ms, 0xFF = 700ms)
TCS34725_WriteReg(0x81, 0x00); // ATIME寄存器
// 设置增益 (0x00=1x, 0x01=4x, 0x02=16x, 0x03=60x)
TCS34725_WriteReg(0x8F, 0x00); // CONTROL寄存器
// 使能传感器
TCS34725_WriteReg(0x80, 0x03); // ENABLE寄存器 (PON + AEN)
}
// 读取颜色数据
void TCS34725_ReadColors(uint16_t *r, uint16_t *g,
uint16_t *b, uint16_t *c) {
*c = TCS34725_ReadReg16(0xB4); // CDATAL/H
*r = TCS34725_ReadReg16(0xB6); // RDATAL/H
*g = TCS34725_ReadReg16(0xB8); // GDATAL/H
*b = TCS34725_ReadReg16(0xBA); // BDATAL/H
}
读取到RAW数据后,可进一步计算色温和lux值:
c
// 色温计算 (简化公式)
float cct = CT_COEFF * (float)(*b) / (float)(*r) + CT_OFFSET;
// 照度计算
float lux = (-0.32466f * (*r)) + (1.57837f * (*g)) + (-0.73191f * (*b));
Arduino/ESP32平台有现成的 Adafruit_TCS34725 库,零基础也能五分钟跑通。
六、应用场景
得益于柔性FPC的独特设计,这款颜色测量仪的应用场景非常广泛:
| 场景 | 说明 |
|---|---|
| 印刷/染布色差检测 | 传感器直接贴在布料或印刷品表面,实时检测色差ΔE |
| 皮肤/化妆品分析 | 贴近皮肤测量肤色、粉底色号 |
| 水果成熟度判断 | 贴附果实表面,根据颜色变化判断成熟度 |
| 水质/液体颜色分析 | 配合透明容器测量液体色度 |
| LED色温校准 | 对准光源直接读取色温值 |
| 智能家居 | 墙壁颜色识别,联动灯光调节 |
| STEM教育 | 学生动手学习颜色科学和传感器编程 |
七、实物展示
整体的FPC柔性板展开后如下图所示,一端是主板,另一端通过柔性排线延伸到传感器子板,看起来就像一条"电子舌头",可以伸到各种犄角旮旯的地方去采集颜色。

焊接组装完成后的实物如下图所示。金灿灿的沉金焊盘配上深色阻焊,质感拉满。

柔性FPC的特写镜头,可以清楚看到传感器子板通过细长的FPC排线延伸出去,弯折自如,轻松适应各种测量角度。
八、总结与展望
这款柔性FPC颜色测量仪的设计核心理念是**"让传感器去适应被测物体,而不是让被测物体来适应仪器"**。柔性板的设计打破了传统PCB的刚性限制,让颜色测量变得更加灵活自由。
后续可以升级的方向:
- 加入蓝牙/WiFi模块,实现无线颜色采集
- 集成小尺寸OLED,做成手持式取色笔
- 增加SD卡记录功能,替代昂贵的色差仪
- 开发手机APP,拍照取色 + 传感器测量双模式
如果你也对颜色测量感兴趣,欢迎评论区交流讨论!
关键词:#颜色测量 #TCS34725 #柔性FPC #DIY #嵌入式 #传感器