时间:2024-05-19
张孝芳
【摘 要】文章介绍了一种基于Arduino开发环境的颜色辨别系统。该系统以Arduino开源控制板为主控单元,与TCS3200颜色传感器相结合,通过传感器采集颜色信息,在Arduino IDE开发环境下进行程序调试、运行实现颜色识别。实验结果表明该系统颜色辨别高效、准确。
【关键词】Arduino;TCS3200颜色传感器; 颜色识别
中图分类号:TH 文献标识码: A 文章编号: 2095-2457(2018)36-0147-002
DOI:10.19694/j.cnki.issn2095-2457.2018.36.062
0 引言
颜色识别在现代生产中应用越来越广,例如医疗诊断、材料分拣识别、图像处理、机器人视觉系统及其它一些需要对颜色识别的检测。随着科技水平的不断提高,人类的生产生活逐渐向智能化转变,各种颜色辨别装置逐渐取代人眼识别工作,使得上述应用实现自动化成为可能[1]。一般的颜色识别装置是利用传感器将光信号转换为电,再对其处理并输出,但输出的是模拟量,还需增加A/D转换装置将模拟量转换为数字信号后,最终输出识别结果,因此电路比较复杂并且误差较大,识别效果不佳。本文提出的基于Arduino平台的颜色辨别系统是将Arduino与TCS3200颜色传感器相连通过程序控制,简化电路的同时极大的提高了识别的效率和准确性。
1 颜色辨别系统硬件组成
本系统由TCS3200颜色传感器、Arduino分析处理模块、LED颜色指示灯及电源等组成,系统整体框图如图1所示。系统结构简单,Arduino控制板根据颜色传感器检测到的信号,在Arduino IDE开发环境下进行程序调试、运行,输出颜色信号,控制相应颜色指示灯闪烁。
1.1 Arduino 模块
Arduino是比较流行的开源电子平台,包含各種型号的Arduino硬件电路板和开发软件环境Arduino IDE。Arduino编程语言类似于C,不需要太多的单片机及编程基础,极易掌握,灵活性强。本装置采用的Arduino UNO硬件,核心是ATmega328P,同时具有14个数字输入/输出、6个模拟输入/输出、1个外接电源插孔及复位按钮及1个USB接口,控制板可通过USB线与电脑连接,便于程序调试的同时还能为其供电、无需外接电源[2]。
1.2 颜色传感器模块
TCS3200传感器是一款全彩的颜色检测器,包括4个白光LED灯(起补光作用)和一块RGB感应芯片。颜色传感器将检测到的RGB光信号经过光电二极管转化为电流信号,再经过电流-频率转换器输出方波频率信号。TCS3200引脚功能图如下,采用8引脚的封装,其中S2、S3用于选择滤波器类型,S0、S1用于选择输出比例因子,均通过高低电平来选择具体如表1所示。OE是频率输出使能引脚,OUT是频率输出引脚,GND是芯片接地引脚,VCC为芯片提供工作电压[3]。各模块与Arduino板连接的电路图如图2所示。
2 颜色辨别系统软件设计
Arduino是开源电子平台,是由硬件和软件两部分组成。其中Arduino硬件电路板可自行购买或焊接,而 Arduino IDE软件编程语言类似于C语言,不需要太多的单片机及编程基础对于绝大多数模块的使用,可直接调用其标准的库函数即可,对于初学者来说,操作简单、易于上手[4]。系统初始化后,首先白平衡校正,求出红、绿、蓝三色的RGB比例因子。颜色传感器是否进行颜色检测,当颜色传感器检测到物体颜色时,将信息反馈到Arduino 控制器中调用颜色识别子程序得出被测物体RGB值控制相应颜色指示灯亮暗变化,识别结束。如果一次进行多种颜色识别则只需一次白平衡调整。程序流程图如图3所示:
2.2 颜色检测子程序
根据颜色检测原理,编写相应程序以实现颜色检测高效、准确的目的。程序主要有获取TCS3200所测颜色三原色输出信号脉冲数。
3 实验结果
本系统能够达到辨别物体颜色的目的,但测试受环境光线的影响,结果存在一定的误差,同时系统电源必须是稳定的5V直流电源,电源的波动同样影响检测结果。此外,传感器检测距离不能太远,最佳测试距离为10mm。对于系统存在的问题可以通过优化算法、改善环境光线、选择最佳检测距离来解决。
4 总结
经由实验发现,Arduino平台于TCS3200颜色传感器交互的颜色辨别系统具有整体电路简单辨识速度快、精度高等特点,通过不断优化程序,多次实验测试,系统能够达到对不同颜色快速准确辨别的功能,可广泛应用于颜色检测识别行业,对现代工业的自动化发展具有跟大的研究开发价值。
【参考文献】
[1]李宏光.几种颜色测量方法的比较[J].应用光学,2005,26(3):62-63.
[2]蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,(16):155-156.
[3]曹琼.利用颜色传感器TCS3200识别红绿灯[J].电脑知识与技术,2017,(7):181-182.
[4]纪欣然.基于Arduino开发环境的智能寻光小车设计[J].现代电子技术,2012,35(15).
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!