关注、星标嵌入式云IOT技术圈,精彩及时送达我买来做颜色识别传感器的模块是TCS34725,如下图所示(相关资料和本文demo请滑到文末通过clone我的码云仓库链接获取):我买的是如上图...
2022-01-17 06:34
文章目录1 简介2 TCS34725特征2.1 红色、绿色、蓝色 (RGB)2.2 可屏蔽中断2.3 电源管理2.4 2C 快速模式兼容接口2.5 寄存器组和引脚兼容3 TCS3472工作原理常用
2022-01-07 08:23
基于STM32F103的TCS3200颜色传感器的使用团队布置的任务内容是2019年中国机器人大赛的题目,小车运行过程中需要对不同物料进行颜色上的识别。因此我最近就学了TCS3200颜色传感器
2021-08-10 07:15
1、TCS230颜色传感器介绍TCS230 是美国 TAOS 公司生产的一种可编程彩色光到频率的转换器。关于这款颜色传感器的原理不过多介绍,更详细可参考数据手册,总结来说它就是可以识别出颜色的rgb
2022-06-06 18:12
1、TCS34725 RGB颜色识别传感器详解rt-thread是什么? RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,组件完整丰富、高度可伸缩
2022-08-23 17:14
一、介绍本模块是基于 AMS 的 TCS3472XFN 彩色光数字转换器为核心的颜色传感器,传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出。集成红外阻挡滤光片可最大限度地减少入射光
2021-07-13 09:19
`用STM32做的颜色感应,开始需要白平衡。RGB用算法转换成了HVS。[hide][/hide]`
2018-10-29 15:49
【资源下载】下载地址:点击下载(821)百度网盘本设计是以STC89C52单片机为控制核心,由一颜色传感器TCS3200结合1602显示器。检测钞票不同部位的颜色,来分别钞票的面额的一个
2021-07-19 07:52
【资源下载】下载地址:点击下载(825)百度网盘电路描述:本文档介绍的是RGB颜色识别系统设计。电路采用STC89C52单片机来控制TCS230颜色传感器这个模块,对所给的数据进行处理,转换成RGB
2021-11-19 06:24
注:本文是对颜色传感器白平衡和比例因子计算的介绍,和具体流程实现方法。 由于发现身边同学有做有些设计的时候需要到颜色识别传感器。但是对于其中的三个(RGB)的比例因子不知道怎么来的,是什么意思,或者怎么去计算调整。这里我简单统一的做一下介绍。首先,使用颜色识别传感器的原理实际就是,三单元色的分析。因为任何颜色都可以由RGB这三种颜色混合而成。所以我们只要识别出这三种颜色的值,然后对应去查颜色铺表,即可得出被测物的颜色。再者,实际使用中,很多同学都是照搬网络上的例程,发现对颜色的识别有很大的误差或者误识别。主要是因为历程中的比例因子均是固定了的,而且同学们也不知道如何去修改。 因为不同条件下,比例因子是不同的。所以才有了白平衡的需要。 那么,什么是比例因子呢。我们知道在理论(认为无任何干扰光源下),白色对应的三基色(RGB) 都是 255。 而我们在实际中不可能是在无干扰的理论环境下。 那么这个白色也不是理论下的“白色”,那么对应RGB就不是255了。既然白色都是不是标准的了,那么其他颜色的RGB肯定就不是标准的了。所以,我们得知道一个调整参数,这个参数就是比例因子。 比如:在使用环境下,我们做白平衡,得到了RGB的值,分别是240,245,250,那么对应的比例因子就是240/255,245/255,250/255。这样,我们在检测其他颜色的时候,得到RGB参数后,分别取乘上各自的比例因子。就可以得到更加真实的RGB值了。然后,具体实现方法呢。 参考数据手册。 里面介绍了两种方法,第一种是脉冲计数到255,得到时间基数;第二种是固定时间采集脉冲然后通过正比例转化为255,得到一个调整参数,也就是比例因子。 由于,网络上基本都是采用第二种,我就介绍第二种方法。个人实际上更加偏向第一种方法,更加的准确和可靠。 对第二种方法而言,传感器正对白色物体(光源也可)首先我们设置一个固定时间,比如为10ms。然后我们通过依次选通传感器的检测基色(每个通道都是10ms),分别得到三个脉冲个数的值,比如红色为X个脉冲,绿色为Y个脉冲,蓝色为Z个脉冲。然后A为红色比例因子,B为绿色比例因子,C为蓝色比例因子,那么A=255/X,B=255/Y,C=Z/255。 这样我们就完成了比例因子的计算。然后,我们检测其他颜色的时候,(这里注意,如果我们是采用10ms做的基本时间,那么检测任何颜色下,程序中的检测时间也需要设置为10ms)。分别得到RGB后,再分别乘以上面计算的比例就可以得到更加准确的真实RGB值。之后,我们把得到的RGB值,通过查表法对三原色值表进行查表,可以就可以得到具体是什么颜色。这里肯能有的同学要问了,不可能每个RGB值都刚好和表里的值对应啊。这里,我就要说,其实如果我们只是大概识别红色,浅红,深红,这里我们已经可以实现。如果还要细分,那么可以这样,得到的RGB值首先查遍,如果没有刚好直接能够匹配的,我们可以找到相近的两个参数,然后通过插值法,再去判断识别。 具体的RGB值表在网络上可找到,实际程序中的查表法,可以使用二分法,插值法可以使用线性插值。仅仅个人建议。最后,实际使用中,如果我们环境没有发生变换只需要做一次白平衡就可以(也就是只计算一次比例因子),之后就用这个因子做处理就好了。 程序里面,我们可以设置一个命令或者按键,当用户按下按下或者收到这个命令后,才做白平衡。这里就介绍完了。希望对有疑问的朋友能够有帮助。 不过,那种还是只会问要代码的!别再来找我!!!!只要你理解了,根据网络上提供的代码,然后稍微加修改就可以完成白平衡(比例因的计算)。补充下: 针对第一种时基方式,实际上更加可靠。还是大概说下,白平衡时候,利用MCU的PCA功能,分别去捕捉RGB的输出脉冲,直到捕获到255个。 然后计算出RGB分别输出255个脉冲的时间(PCA模式下,捕获功能可以计算出时间的). 然后,这个三个时间T1,T2,T3,以后就是我们去检测其他颜色输出脉冲的限制时间。 举例:检测三原色中R的值,通过配置定时,比如配置为T1的时间长度,PCA捕获这个T1下输出的脉冲个数,这个脉冲个数就是R真实值了。然后再把定时器配置为T2的时间长度,PCA捕获T2下的脉冲,这个值就是G的值,B同理。
2016-10-10 17:37