TCS230颜色传感器原理与应用编程

上传人:枫** 文档编号:498234148 上传时间:2023-08-15 格式:DOC 页数:7 大小:70.51KB
返回 下载 相关 举报
TCS230颜色传感器原理与应用编程_第1页
第1页 / 共7页
TCS230颜色传感器原理与应用编程_第2页
第2页 / 共7页
TCS230颜色传感器原理与应用编程_第3页
第3页 / 共7页
TCS230颜色传感器原理与应用编程_第4页
第4页 / 共7页
TCS230颜色传感器原理与应用编程_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《TCS230颜色传感器原理与应用编程》由会员分享,可在线阅读,更多相关《TCS230颜色传感器原理与应用编程(7页珍藏版)》请在金锄头文库上搜索。

1、TCS230颜色传感器1 . 颜色传感器原理TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。这些二极管共分为四种类型。其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的滤波器。该传感器的典型输出频率范围从2 Hz500

2、 kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS230的输出频率和计数器相匹配。2. 引脚图及其控制与功能a. 实物图(芯片的4引脚延伸进去这是区分引脚的标志。) b. 引脚编程设置及其功能1. 输出频率分频选择S0 S1 输出频率分频比例 L L 掉电 L H 2% H L 20% H H 100% 2. 滤光颜色选择S2 S3 光电二极管类型 L L 红色 L H 蓝色 H L 清除(无滤波器) H H 绿色

3、3. 测量频率的方法(1) 依次选通三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。当计数到250时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,通过串口观察。在这段时间内所测得的脉冲数就是所对应的R、G和B的值。(实际测得的是一个范围的值)(2) 设置定时器为一固定时间(例如10 ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值

4、。4. 注意的问题()电源线必须采用的电容退耦,且电容应尽可能靠近芯片。() 芯片的引脚和引脚之间需采用低阻抗连接,以提高抗噪声能力。()芯片的输出设计为短距离驱动标准 或逻辑输入电平。若输出线超过英寸,则建议使用缓冲器或线驱动器。(4)TCS230识别模块重启、更换光源等情况时,都需要进行白平衡调整。简单的测试程序如下:#include#define ucharunsigned char#defineuintunsigned intsbitS0=P10; /S0,S1为设置输出的占空比sbitS1=P11;sbitS2=P13; /S2,S3为设置虑光的模式sbitS3=P14;sbitOE

5、=P12; /使能void RS232_init() TMOD=0X20;/定时器1工作在方式1 SCON=0x50; PCON=0X80; / TH1=TL1=0XFF;/22.1184M晶振,波特率设置为115200 TR1=1; TI=0; RI=0;void send_char(uchar a)/发送数据SBUF=a;while(TI=0);TI=0;uchar get_char() /接收数据while(RI=0);RI=0;return SBUF;uint color_display(uchar m) uint time,a; a=m; TMOD=0x61; /计数器1,定时器0工

6、作在16位方式 TH0=TL0=0; /从零开始计数,定时 TH1=TL1=0; S0=1; S1=1; S2=m&0x01;S3=m&0x02; OE=0; TR0=TR1=1; while(TL1250); TR1=TR0=0; OE=1; time=TH0*256+TL0; return(time);void main()uint temp;RS232_init();OE=1;while(1)temp=color_display(get_char();RS232_init();send_char(temp/1000); send_char(temp%1000/100); send_char(temp%100/10);send_char(temp%10);通过串口来选择颜色种类的通道,再由于不同颜色对应不同的时间(计数值一样),从而确定不同的颜色。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号