tcs230颜色传感器怎么用的,求程序,检测颜色然后在数码管上输出!!

2025-03-20 10:43:45
推荐回答(2个)
回答1:

  1.  第一步,认识器件:TCS230是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图1是TCS230的引脚和功能框图。

  2. 第二步,理解电路连接:下面简要介绍TCS230芯片各个引脚的功能及它的一些组合选项。 

    S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE反是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输出引脚时,也可以作为片选信号,OUT是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压,表1是S0、S1及S2、S3的可用组合。


  3. 第三步,结合电路接口理解检测颜色的工作原理

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

  4. 第四步,参考例程(非原创)


/*********************************************************************/

#include  

#define uchar unsigned char 

#define uint  unsigned  int  

uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //所需的段的位码 

uchar wei[5]={0Xf7,0XEf,0XDf,0XBf,0X7f};                        //位的控制端 

uint z,x,c,v,b,n,date; //定义数据类型

uint dispcount=0; //中断计数 

uint lck=0;   //定时器计数 

uint disp=0;  //频率值 

/******************************************************************  

延时函数  

******************************************************************/ 

void delay(uchar t) { 

  uchar i,j;   

  for(i=0;i

     for(j=13;j>0;j--);   {    } 

   } } 

 

/**********************************************************************                

 数码管动态扫描 

*********************************************************************/ 

void xianshi() 

 {  

 /*****************数据转换*****************************/ 

后面参考文库内容

http://wenku.baidu.com/link?url=6CWP6mRKPrFDUMH0FmulOJnDBnHEOEm8s6f6SwN2wY486s23T2Zgr3GrDhWcQvGEhVh41nL-3OgJZnvF-jHIalvCQoCW_zXTKekcT1DmM2y

回答2:

输入wvftr gtujcfdwaavnk walkeer appera