- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCS230颜色传感器原理和应用编程
TCS230颜色传感器
1 . 颜色传感器原理
TCS230采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管。这些二极管共分为四种类型。其中16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器;其余16个不带有任何滤波器,可以透过全部的光信息。这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的滤波器。该传感器的典型输出频率范围从2 Hz~500 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 HYPERLINK /elec_article/6 \t _blank 光电二极管类型 L L 红色 L H 蓝色 H L 清除(无滤波器) H H 绿色
3. 测量频率的方法
(1) 依次选通三种颜色的滤波器,然后对TCS230的输出脉冲依次进行计数。当计数到250时停止计数,分别计算每个通道所用的时间。这些时间对应于实际测试时TCS230每种滤波器所采用的时间基准,通过串口观察。在这段时间内所测得的脉冲数就是所对应的R、G和B的值。(实际测得的是一个范围的值)
(2) 设置定时器为一固定时间(例如10 ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。
4. 注意的问题
(1)电源线必须采用0.01μF~0.1μF的电容退耦,且电容应尽可能靠近芯片。
(2) 芯片的OE引脚和GND引脚之间需采用低阻抗连接,以提高抗噪声能力。
(3)芯片的输出设计为短距离驱动标准TTL 或CMOS逻辑输入电平。若输出线超过12英寸,则建议使用缓冲器或线驱动器。
(4)TCS230识别模块重启、更换光源等情况时,都需要进行白平衡调整。
简单的测试程序如下:
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
sbit S0=P1^0; //S0,S1为设置输出的占空比
sbit S1=P1^1;
sbit S2=P1^3; //S2,S3为设置虑光的模式
sbit S3=P1^4;
sbit OE=P1^2; //使能
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工作在16位方式
TH0=TL0=0; //从零开始计数,定时
TH1=TL1=0;
S0=1;
S1=1;
S2=m0x01;
S3=m0x02;
OE=0;
TR0=TR1=1;
while(TL1250);
TR1=TR0=0;
OE=1;
time=TH0*256+TL0;
return(time);
}
void main()
{
uint temp;
RS232_init()
您可能关注的文档
最近下载
- 中小学校内部控制手册.pdf VIP
- Hilti喜利得防火胶泥材料安全数据表 CFS-P BA CP 618 CFS-D 1'' (ZH), 说明书用户手册.pdf
- 《园艺设施工程学》第1章园艺设施的发展现状与趋势.ppt
- 《拒绝校园欺凌》ppt课件(图文).pptx VIP
- 知识产权常年财务顾问合同.docx VIP
- 犯罪原因分析_性犯罪_强奸罪.pptx VIP
- SY∕T 5665-2018 钻井液用防塌封堵剂 改性沥青.pdf
- 儿童护牙知识课件.pptx VIP
- T CAAMTB 68—2022 自调整膜片弹簧离合器总成技术要求和台架试验方法.pdf VIP
- 地方院校药学专业应用型人才创新能力培养体系的构建.pdf VIP
文档评论(0)