基于单片机的颜色采集系统设计
2017-03-06罗伟芳
摘 要
本文详细介绍一种基于单片机技术,使用TCS230传感器采集衣服等服装面料RGB数据的系统设计过程。TCS230颜色传感器将采集到的数据通过单片机的控制与处理,最后通过液晶屏LCD1602进行显示。本系统具有使用简单、直观、高效、稳定的特点。
【关键词】单片机 传感器 系统设计
随着信息时代的到来,电子技术在各个领域得到了广泛的应用。全面实现电子化与智能化是未来电子技术发展的趋势。而基于以传感器获取数据为基础的物联网也是近几年兴起的热门话题。在布料生产、染色或者制衣工厂中,都需要根据不同的布模板来配置颜色,或者对某种颜色进行匹配。这工作对于人工的肉眼来分辨,都是相对比较困难的。虽然现也有相关的颜色识别器,但相对复杂,价钱昂贵。本系统实现简单,成本低,工作稳定,有一定的实用价值。
1 总体框图设计
本系统主要由TCS230传感器、STC89C52单片机系统、LCD1602显示屏三大模块构成。如图1所示。
1.1 TCS230模块
TCS230管脚图如图2所示。TCS230内部集成有64个光电二极管,这些二极管共分为四种类型:16个带有红色滤波器光电二极管,16个带有绿色滤波器光电二极管;16个带有蓝色滤波器光电二极管,其余16个为不带有任何滤波器的光电二极管,其可以透过全部的光信息。工作时,管脚S0和S1可以通过采用不同的高低电平组合,选通不同的颜色通道。
1.2 单片机STC89C52
STC89C52是一种低功耗,高性能COMOS 8位微处理器,同时也是带8K字节可编程可檫除FLASH存储器。该芯片采用ATMEL高密度非易失存储器制造技术,与工业标准的MCS-51指令集和输出管脚相兼容,同時做了很多的改进,使芯片具有传统51单片机不具备的功能。
1.3 LCD1602显示屏
1602显示屏是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
2 软件设计
本系统采用C语言编程,具体工作流程如图4所示。首先对LCD1602显示屏等进行初始化,接下来判断是否需要进行白平衡,然后再进行颜色数据的采集,最后通过LCD1602显示屏进行显示。
3 白平衡算法
对于TCS230的光传感器来说,它对RGB三种基本色的敏感度是不相同的,所以导致TCS230的RGB输出也是不一样的,因此在测试前必须进行白平衡调整,使得TCS230对所检测的"白色"中的三原色是相等的。本系统白平衡算法的思想是先根据TCS230的白平衡方法测出基准光源的RGB光强值,再用白光的RGB值(255.255.255)分别去除此三个光强值,得到三个比例因子,最后用此比例因子乘以实际布料测出的数值,即布料的实际颜色。
4 测试效果
通过两组TCS230探头分别对不同颜色的布料测试可知,本系统测量的数据稳定,误差也在可接受的范围里,能满足一般的颜色测量要求。
5 结束语
通过测试与对比,本系统能很好的实现所需要的功能,且数据稳定,适合在实验室、布料加工厂等场合使用。另一方面,本系统功能扩展方便,能广泛应用于外接物联网的前端数据采集中。
参考文献
[1]张松灿,肖本贤.高分辨率颜色传感器TCS230的原理和应用[J].单片机与嵌入式系统应用,2005(03):44-46.
[2]丁茄,李刚.可编程彩色光/颇转换器TCS230及其应用[J].国外电子元器件,2005(01):59-62.
[3]鲍可进.C8051F单片机原理及应用[M].北京:中国电力出版社,2006.
作者简介
罗伟芳(1987-),女,广东省梅州市人。学士学位。现为广东省电子职业技术学校助理实验师。研究方向为数据采集、信号处理、图像匹配。
作者单位
广东省电子职业技术学校 广东省广州市 510515