找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6751|回复: 5
打印 上一主题 下一主题
收起左侧

TCS230颜色传感器的使用原理?

[复制链接]
跳转到指定楼层
楼主
理论知识大概都懂,通过选择不同的滤光,确定RGB值,但具体到芯片,程序如何工作的,麻烦讲解下,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2018-9-16 08:33 | 只看该作者

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

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

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

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



GY-31+TCS230+TCS3200+颜色传感器+颜色识别+颜色感应模块
https://pan.baidu.com/s/1eQra0AQ

gy-31与STC单片机连接图.jpg (107.62 KB, 下载次数: 58)

gy-31与STC单片机连接图.jpg

颜色模块内部电路图.jpg (50.65 KB, 下载次数: 54)

颜色模块内部电路图.jpg
回复

使用道具 举报

板凳
ID:155507 发表于 2018-9-16 08:40 | 只看该作者
51单片机测试程序

  1. #include<reg52.h>
  2. #include<absacc.h>
  3. #include<intrins.h>
  4. unsigned char power=0;
  5. unsigned int rgb[4];
  6. unsigned char zx,th0=0xf9;
  7. float rx=1,gx=1,bx=1;//红蓝系数
  8. unsigned int x,y,z;
  9. sbit REST=P2^2;//掉电复位
  10. sbit POWR=P1^7;//换向
  11. sbit POWL=P2^0;//换向
  12. sbit TEST=P2^1;//短路检测?
  13. sbit BPH =P3^2;//白平衡的 LED灯
  14. sbit BCS =P3^3;//启动测试
  15. sbit OE=P1^7;


  16. bit zhb1;
  17. bit zhb2;
  18. ///////////////////////////
  19. delay()
  20. {
  21. unsigned long x;
  22. for(x=0;x<10000;x++)
  23.    {}


  24. }

  25. ////////////////////////
  26. w_transform();

  27. rest()
  28. {power=0;

  29. }



  30. code void (code *dos[])()=
  31.   {w_transform,rest          };


  32. xdos()
  33.   {(*dos[power])();}



  34. zhkz()
  35. {
  36. if(TEST==0)//测试使能
  37.   zhb1=1;


  38. }
  39.   
  40. main()

  41. { static unsigned int del=30,delx;
  42.    OE=0;//TCS230片选有效        
  43.    Time();//定时器配置
  44.    
  45. //  zhb2=1;
  46.    delay();
  47.    while(1)
  48.         {
  49.          
  50.           if(delx==0)
  51.             {        
  52.               if(BPH==0)  
  53.                  {zhb2=1;delx=5000;}   
  54.               if(BCS==0)
  55.                 {zhb1=1;delx=5000;}
  56.               if(zx==0)
  57.                  {ysxf(); }  //结束采样 转换排序显示
  58.             
  59.              }
  60.            else delx--;         

  61.          if(zhb1==1)
  62.             {OE=0;
  63.         
  64.                 { xdos();del=0;}//采样
  65.                     
  66.              if(zx==0)
  67.                   {zhb1=0;OE=1; }  //结束采样 转换排序显示
  68.             }


  69.          
  70.           if(zhb2==1)
  71.             {
  72.               OE=0;
  73.                               

  74.               xdos();//采样
  75.              if(zx==0)//采样结束
  76.                   {zhb2=0;
  77.                    gx=rgb[1];//设绿色系数为1
  78.                  if(rgb[0]!=0)
  79.                    rx=gx/rgb[0];//红色平衡系数
  80.                  else rx=1;
  81.                  if(rgb[2]!=0)   
  82.                    bx=gx/rgb[2];//兰色平衡系数
  83.                  else bx=1;
  84.                    zhb2=0;  // zhb1=1;
  85.                   OE=1;
  86.                   }  //白平衡算平衡系数
  87.             }
  88.          
  89.         
  90.      //    zhkz();//键值判断并选择所执行的程序
  91.                                          
  92.         }

  93. }


  94. /*偏红偏蓝蓝*/


复制代码
回复

使用道具 举报

地板
ID:477540 发表于 2019-2-18 00:22 | 只看该作者
你好问一下使用颜色传感器 TCS230 TCS3200 颜色识别感应模块 RGB三色 串口输出的配置要求多高window32位的电脑使用的了吗
回复

使用道具 举报

5#
ID:471560 发表于 2019-2-18 04:37 | 只看该作者
串口对电脑没有什么要求。
回复

使用道具 举报

6#
ID:639290 发表于 2020-4-22 19:50 | 只看该作者
angmall 发表于 2018-9-16 08:40
51单片机测试程序

大佬有32f103例程没
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表