关于TCS230颜色传感器的使用

第一次写博客,大牛直接绕路。

今年山西省电赛题目之一是小车识别红灯,然后停下来。感觉用摄像头的话,比较难,而且花费比较大。网上看到颜色传感器的最佳距离是1cm,抱着试一试的态度,买了一个试一下。经过几天学习(个人比较渣,刚学习单片机),有一点点弄懂了。写了程序,发现颜色传感器可以识别大约20cm左右的红色小灯。想了想,它可能对不发光的物体的识别距离是1cm,对于发光的物体可能识别距离会远一点,况且我们只是大概的识别,因此个人初步认为颜色传感器可以用作此次比赛。

下面讲一讲颜色传感器:

1.识别颜色的原理:

大家都知道各种颜色是有不同比例的三原色(红绿蓝)混合而成的,因此只要知道三原色的值,就可以推测物体的颜色。TCS230是依次选定红绿蓝的滤波器,只允许选定颜色通过,然后得到选定颜色的光强。

2.识别颜色思路:

首先白平衡,设置定时器为一固定时间(例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS230的输出脉冲数,计算出一个比例因子,通过这个比例因子可以吧这些脉冲数变为255,。在实际测试中,使用同样的时间进行计数,吧测得的脉冲数在乘以求得的比例因子,然后就可以得到所对应的R、G、B的值。

3.各引脚功能:

s0 、 s1用于选择输出比例因子或电源关闭模式;

s2 s3用于选择滤波器的类型;

OUT是频率输出引脚;

4.具体操作:

s0和s1直接输出高电平,设定定时器时间,在定时器中断中通过输出s2和s3设定依次选通红绿蓝滤波器,读取out值,就ok了。


                                 

基本就是这样的。我也是刚刚学的,难免有所疏漏,欢迎各位指正。

你可能感兴趣的:(关于TCS230颜色传感器的使用)