TCS3200模块实现颜色识别技术

时间:2025-11-02  作者:Diven  阅读:0

该项目用于检测颜色并使用TCS3200颜色传感器模块和Arduino板在LCD上显示颜色名称。传感器使用彩色光电二极管输出红色,绿色和蓝色的反射光值。颜色输出以频率显示,其值取决于强度。

TCS3200模块实现颜色识别技术

颜色识别理论

为了了解眼睛感知到的特定颜色,将眼睛接收到的信号分为红色,绿色和蓝色,以名称三刺激值表示。任何特定颜色的三刺激值是R,G和B的三个分量。我们使用的传感器还提供类似于三刺激值的信号。

必须从接收为Vr,Vg和Vb的R,G和B的值中计算出两个称为“色度坐标”的值。国际照明委员会(CIE)在1931年引入了计算这两个x和y坐标的公式。

wKgaomUrnpKAehdtAAMO_fGQmgA433.png

图1:色度图,x和y为红色和绿色坐标

该委员会在读取了成千上万个具有各种颜色对象的视觉观察员的读数后,得出了称为色度图的图表,如图1所示。根据计算出的x和y坐标,可以通过绘制颜色来确定颜色( x,y)点在图表中。

x = Vr /(Vr + Vg + Vb)

y = Vg /(Vr + Vg + Vb)

例如,x = 0.2且y = 0.35给出蓝绿色,而x = 0.47且y = 0.45给出黄色。该图表具有马蹄形形状,虽然很奇怪,但这是CIE详尽研究的结果。图表的边缘显示了最纯净的颜色,并在其中指出的某些点上显示了光谱波长值。

例如,蓝色始于400nm,绿色始于500至540nm,黄色始于575nm,红色始于640nm。

图表的底部是互补色,包括紫色和洋红色。中心显示的白色区域是白色的近似范围,尽管某些颜色的坐标也落在该白色椭圆形区域内。该图表是精确的,但是此处显示的带有颜色之间的界线的图表仅是近似值。

所显示的区别出的曲线(例如绿色和淡黄色绿色)仅是近似的。在此图表中,主要颜色为十七种。本文中的电路和程序旨在识别多达22种颜色,包括补色。

电路与工作

用于颜色识别的电路图如图2所示。围绕着Arduino Uno板(Board1),16×2 LCD(LCD1),TCS3200颜色传感器模块(CS)和一些分立的组件而构建。TCS3200颜色传感器模块如图3所示。

图2:用于颜色识别的电路图

图3:TCS3200颜色传感器模块

所示电路使用频率输出。Arduino的外部中断引脚INT0(引脚2)用于计数频率值。我们选择10kHz作为最大范围。引脚S2和S3按00、11和01的顺序选择颜色。只有红色(R),绿色(G)和蓝色(B)的所谓三刺激值可用。颜色传感器模块的详细信息已发布在“使用TCS3200的RGB颜色检测器”中

现在可以在此链接上获得传感器模块的DIY文章。

这三个频率值用于确定色度坐标,从而使用我们的搜索算法从CIE色度图中识别22种分类的颜色中的。根据颜色标定的CIE图表(图2),为每个对象指示色度坐标(乘以10)以及最接近的颜色名称。这些R和G值用于颜色匹配。

LCD连接到Arduino开发板,以显示坐标R和G以及颜色名称。R和G用于颜色匹配,因为两个相同的有色对象将具有相似的值。

该电路还与一个两行字符LCD显示器相连。LCD的引脚3连接到10千欧(VR1)电位计,以在0至5V之间调节电压,以改变LCD模块上显示的字符的对比度。

数据包括到LCD(11-14)的引脚D4至D7的四线连接。引脚15连接到+ 5V,用于LCD的背光,引脚16通过电阻R2接地。

在这里,我们使用的是四线数据连接,而不是八线数据连接。程序必须在两个连续的写操作中发送命令和地址值。使用四线连接可以节省微控制器上的引脚。

图4中显示了被检测并显示在LCD上的淡黄色物体以及信号值。

图4(a和b):淡黄色物体的检测

对芯片进行编程

该单元的程序(colour_sense.bas)是在Oshon AVR Simulator IDE上开发的。该软件有助于开发项目。

完成编码(用BASIC编写)后,编译代码或将生成的十六进制文件加载到Arduino Uno板上的ATmega328P芯片中。Xloader程序用于加载十六进制文件。执行Xloader程序后,将打开一个窗口,如图5所示。为Arduino Uno板连接的USB插座指定COM端口号。可以从PC /笔记本电脑上Windows上的“设备管理器”中找到此号码。

从XLoader窗口浏览十六进制代码,如图5所示,然后按上载按钮。加载代码后,从笔记本电脑上断开Arduino板的连接,然后将9V适配器连接到其DC插座(或将5V电源连接到其5V和接地引脚)。

图5:Xloader窗口

建设与测试

图6中显示了用于颜色识别的PCB布局,图7中显示了其组件布局。在PCB上组装电路后,将其封装在合适的盒子中。将传感器模块和LCD固定在前面板上,并将电线连接到PCB上的相应连接器

图6:颜色识别的PCB布局

图7:PCB的组件布局

猜您喜欢

贴片电阻上的1R5表示其阻值为1.5欧姆。这种表示方法在电子领域很常见,用R代替小数点。所以,看到类似4R7、0R1等标识,就分别代表4.7欧姆和0.1欧姆。1...
2024-11-29 10:26:13

功率电阻作为电子元器件中的重要组成部分,应用于各种电路设计中。肇庆英达作为国内知名的功率电阻制造企业,高品质和创新技术赢得了市场的认可。本文将详细介绍肇庆英达升...
2014-09-06 16:20:30

分流器电阻精准的分流特性和的应用领域,成为了电路设计中不可少的一部分。而提及分流器电阻品牌,SUPEROHM(美隆)无疑是行业内的一颗璀璨明星。本文将深入探讨S...
2018-12-18 19:05:23

发射器是用于将物体加速并发射到特定方向的设备或装置。基本功能是通过提供能量,使目标物体克服重力和空气阻力,实现飞行或运动。发射器的应用,涵盖了军事、航天、体育等...
2008-10-07 00:00:00

贴片电阻,因其微小尺寸,在电路板上标识阻值的方式与传统电阻有所不同。一般采用三位数字或四位数字来表示其阻值。三位数字表示法是最常见的,前两位数字表示有效数字,第...
2025-04-14 15:02:14

快速准确地读取贴片电阻阻值对于电子工程师和爱好者至关重要。本指南提供最新的贴片电阻阻值代码解读方法,助您轻松掌握。常见的贴片电阻采用3位或4位数字编码表示阻值。...
2024-11-26 11:29:54

数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的...
2020-10-11 11:34:00

羊角锤是常见的手工具,应用于建筑、修理等领域。了解羊角锤的参数,可以帮助用户选择合适的工具以满足不同的需求。羊角锤的重量通常在400克到600克之间,重量适中,...
2010-09-21 00:00:00

贴片电阻的阻值通常用数字和字母标注在表面。三位数字的标注方式最常见,前两位数字表示有效数字,第三位数字表示10的幂次方。例如,标注「103」表示阻值为10 × ...
2024-11-26 11:30:07

在选择货架时,规格和尺寸是关键因素。不同类型的货架适用于不同的场景和需求,因此了解货架的规格尺寸非常重要。货架的高度、宽度和深度是主要的参数。常见的货架高度通常...
2022-03-04 00:00:00