颜色传感器,顾名思义,是一种感知或检测颜色的设备。颜色传感器将使用外部发光方式(如白色led阵列),然后分析来自物体的反射光,以确定其颜色。
(adsense1)
颜色传感器将给出物体的精确颜色。颜色传感器有广泛的应用,如按颜色分类物体,质量控制系统,打印机颜色增强等。
在这个项目中,我们设计了一个简单的Arduino颜色传感器应用程序,它具有检测不同颜色的能力。为此,我们使用了TCS3200颜色传感器。下面是对颜色传感器的介绍,Arduino颜色传感器项目的电路图和工作原理。
线路图
组件的要求
- Arduino兆(在这里买]
- TCS3200 (RGB + Clear)颜色传感器模块
- 案板(原型)
- 电力供应
- 连接电线
(adsense2)
请注意:我们用过Arduino兆在这个项目中,它有大量的I/O引脚,我们连接了许多设备,如TCS 3200彩色传感器,16X2液晶显示器和4个led。使用串行通信的简单传感器数据(串行终端上的传感器信息),可以使用简单的Arduino UNO。
颜色传感器简介
从技术上讲,颜色是我们想象出来的。当我们看到一个红苹果时,这意味着它反射了电磁光谱的特定波长(红的波长约为700纳米)。这种能量被眼睛吸收,根据某种化学反应,大脑认为特定波长是红色的。
对于计算机来说,区分不同颜色的传感器将有助于确定物体的颜色。我们将看到一个简单的颜色传感器使用一个光电阻(光依赖电阻- LDR)和两个不同的颜色对象,说红色和蓝色。
当我们把明亮的红光照射在这两个物体上时,红色的物体会反射光,而蓝色的物体会吸收光。因此,当红光同时照射在红色和蓝色物体上时,红色物体在LDR看来是最亮的,因为红色物体反射了大部分红光。
同样,当明亮的蓝光照射在两个物体上时,蓝色的物体对传感器来说是最亮的。这种方法只是为了了解颜色传感器的工作情况,实际的结果可能并不准确。
像TCS3200这样的实用颜色传感器比这要复杂一些。TCS3200颜色传感器是一种可编程颜色传感器,它将色光转换为频率。传感器的输出频率与物体反射的光的强度成正比。
TCS3200颜色传感器模块具有RGB +清晰传感器,同时在板上嵌入4个明亮的白色led。TCS3200有一个8 x 8阵列的照片二极管,每个16用于红色过滤器,蓝色过滤器,绿色过滤器和透明(无过滤器)。
TCS3200颜色传感器的功能框图如下图所示。它由滤光片,光电二极管阵列,电流到频率转换器和最终方波输出组成,可以直接给一个微控制器。
TSC3200颜色传感器IC是一个8引脚集成电路,带有SOC封装。下图为彩色传感器IC的引脚图,其中引脚1和引脚2 (S0和S1)为输出变频引脚。引脚3是输出使能引脚,是一个活跃的低引脚。引脚4为GND。
引脚5为VDD引脚,最大供电电压为5.5 V。引脚6是输出引脚,通过它我们可以得到方波输出。引脚7和8 (S2和S3)是光电二极管选择引脚。
引脚1,2 (S0, S1)和7,8 (S3, S4)在TCS3200颜色传感器中特别重要。S0和S1为输出变频管脚。有了这些引脚,输出方波的频率可以根据应用程序或所使用的微控制器进行缩放。
输出频率缩放的原因是不同的微控制器有不同的定时器配置,在微控制器的计数器功能可能有一些限制。下表显示了S0和S1不同组合下的输出缩放百分比。
S0 | S1 | 输出频率缩放(f0) | 典型的全面的频率 |
l | l | 断电 | - - - |
l | H | 2% | 10 - 12千赫 |
H | l | 20% | 100 - 120 KHz |
H | H | 100% | 500 - 600 KHz |
S3和S4是光电二极管选择引脚。它们被用来选择与不同的滤色器(红,蓝,绿和清)相关联的不同的照片二极管。下表显示了不同类型的光二极管的S3和S4的不同组合。
S3和S4是光电二极管选择引脚。它们被用来选择与不同的滤色器(红,蓝,绿和清)相关联的不同的照片二极管。下表显示了不同类型的光二极管的S3和S4的不同组合。
S3 | S4 | 光电二极管类型 |
l | l | 红色的 |
l | H | 蓝色的 |
H | l | 清晰的(没有过滤器) |
H | H | 绿色 |
TCS 3200颜色传感器采用模块的形式,除了实际的TCS 3200颜色传感器外,还有所有组件,如头管脚,4个白色led,电阻和电容。下图显示了实时颜色传感器模块。
项目的运作情况
本项目使用Arduino开发了一个简单的颜色传感器。颜色传感器模块感知周围环境的颜色。这里对项目的工作进行了说明。
正如在颜色传感器部分的介绍中提到的,TCS3200颜色传感器有红色,蓝色,绿色和透明的过滤器。每种颜色的强度用频率表示。在Arduino中,我们通过对颜色传感器的S0和S1引脚应用HIGH,将输出频率刻度固定为100%。
我们必须使用颜色传感器上的S2和S3引脚来选择光二极管的类型,即红色,绿色或蓝色。每当选择特定的光电二极管时,Arduino的PULSEIN特性在连接到颜色传感器输出的引脚上被激活。
这将帮助我们计算输出信号的频率。对所有三种光二极管:R、G和b重复相同的过程。在所有情况下,使用PULSEIN特性测量频率,并显示在串行终端上。
此外,这些信息可以用来识别放置在传感器前面的颜色,并在LCD上显示其颜色,也可以点亮相应的LED。
代码
应用程序
- 颜色传感器在图像处理、数字信号处理、物体检测、颜色识别等领域有着广泛的应用。
- 在工业中,颜色传感器常用于根据颜色对物体进行分类。
推荐阅读:
12的反应
先生,我能把arduino mega换成arduino uno吗?你能给我看看代码吗?我需要你的答复,因为我将执行这个项目。
你好,
是的。你可以用UNO替换Mega。但是你只能使用LCD显示器(用于显示颜色)或单独的led显示器。
在代码中,根据不同的UNOs连接修改I/O引脚。
你好先生,
你能把这个项目的arduino代码发给我吗?
上传代码。
编码在哪里?
上传代码。
你能把代码发给我吗
上传代码。
先生,这是一个非常好的项目!
但是我想用arduino uno代替arduino mega,因为arduino mega的成本相当高....
那么我们在电路图和代码中做了哪些改变??
你能尽快给我代码,因为我正在实施这个项目
谢谢你!
我可以把arduino mega换成arduino nano吗?我认为我只能被限制在LED灯作为指示器,这很好,我是新手,Nano是我现在能接触到的
嗨,先生,你有什么编码,如果传感器检测到红色,电机直流将停止,如果检测到绿色,它将停止
请为此提供代码。这是一个非常好的项目。想要实现