1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
混论坛的,大家都想看到一些平时看不到的东西,我自己也是一样,很想找的东西,偏偏找不到,可能是因为是机密吧,我个人觉得,其实想多学习点,还是建议多分享结果才会好一点。今天我把我调试成功的颜色传感器模块写出来给大家看看,互相学习。也希望各位创客能把自己好的东西而不失商业机密的拿出来给坛友学习学习。
TCS230识别颜色的原理: TCS230这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。本文以 TCS230 在液体颜色识别中的应用为例,介绍它的具体使用。在开始介绍TCS230 的颜色识别前,先来了解一些光与颜色的知识。 2、 三原色的感应原理 通常所看到的物体的颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。 3、 TCS230识别颜色的原理 由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS230 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS230 传感器上的光的颜色。 4、白平衡和颜色识别原理 白平衡就是告诉系统什么是白色。从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS230 的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS230 的RGB 输出并不相等,因此在测试前必须进行白平衡调整,使得TCS230 对所检测的“白色”中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS230 上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的三个调整参数。 当用TCS230 识别颜色时,就用这三个参数对所测颜色的R 、G 和B 进行调整。这里有两种方法来计算调整参数:①依次选通三种颜色的滤波器,然后对 TCS230的输出脉冲依次进行计数。当计数到255 时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230 每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R 、G 和B 的值。②设置定时器为一固定时间(例如10ms ),然后选通三种颜色的滤波器,计算这段时间内 TCS230 的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的 R 、G 和B 的值 使用本模块的结果都是基于白平衡而工作的! 模块上有10个引脚,其中GND和LED这两个引脚是用跳线帽直接连在一起的。剩下的就是有VCC、GND、OE、S0、S1、S2、S3、OUT! 现说一下这个颜色传感器模块与Arduino UNO 连在一起的接法! Arduino UNO Color Sensor Digital 6 - S0 Digital 5 - S1 Digital 4 - S2 Digital 3 - S3 Digital 2 - OUT VCC - VCC GND - GND 这样就可以把线接好了,接下来就是把程序下载进Arduino UNO里进去测试。ARDUINO 代码复制打印
注意,在用IDE进行程序下载时,记得把板子的型号给选对,COM口也要选对,这样才会可以顺利的进行成功! 以下是我测试的实验结果: [size=0.83em]2012-4-17 13:47 上传 下载附件 [size=0.83em](32.73 KB) 以下是程序中需要到的库函数: TimerOne.rar (2.75 KB, 下载次数: 702) |
|
相关推荐
|
|
谢谢楼主分享,好好向楼主学习i,
|
|
|
|
|
|
有没有arduino+GY-33颜色识别模块iic通信颜色识别的程序呀?
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
WIO Terminal +MCP2515 实现车辆OBD的速度监控
10410 浏览 0 评论
60659 浏览 77 评论
5994 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
36543 浏览 219 评论
10055 浏览 0 评论
525浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
1301浏览 1评论
1443浏览 1评论
647浏览 0评论
567浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 01:25 , Processed in 0.847672 second(s), Total 86, Slave 69 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号