风筝
发表于: 2019-1-18 16:22:23 | 显示全部楼层

你有一个需要某种形式的颜色识别的项目吗?你需要整理你的Skittles吗?你应该看看TCS3200色彩传感器!在本篇文章中,我们来一起看看如何使用TCS3200颜色传感器。

LCD02.jpeg


所需的硬件

●    1K电阻(R1,R2)

●    100nF电容器(C2,C3,C4)

●    10uF电容(C1)

●    10K电位器(RV1)

●    1N5817二极管(D1,D2)

●    PIC16F1516单片机(U2)

●    TCS3200模块


原理图

Shematic.png


颜色传感器的工作原理

该电路的核心是TCS3200色彩传感器模块,由PIC16F1516控制。为了演示,该项目还有一个1602 LCD显示屏,用于显示各个颜色输出(红色、绿色和蓝色)。传感器本身由8×8光电二极管阵列组成,其中16个光电二极管具有红色滤光器,16个具有蓝色滤光器,16个具有绿色滤光器,其余16个具有透明滤光器。这些光电二极管连接到电流 - 频率转换器,其产生输出方波,其频率与所选滤波器的强度成比例。一次只能选择一个滤色器,并使用两个引脚选择此颜色通道:S2和S3。输出的基频由两个引脚S0和S1决定(参见下表)。

base frequency.png

123.png


PIC中的固件首先运行一些基本配置代码,用于设置端口、配置外设以及将变量设置为已知值。配置器件后,PIC然后配置1602 LCD,使其处于8位模式、两行、无光标、无闪烁。在LCD配置好后,TCS3200传感器配置为使用20%的频率,并通过将OE引脚设置为低电平来启用其输出。

LCD.png

在此之后的下一步是运行几乎每个微控制器项目运行的无限循环。在while循环的每次迭代中,拾取、测试每个颜色传感器,然后将其转换为ASCII字符串以打印到显示器。当你有一个计时器时,测试频率是相当容易的,在这个项目中我们使用计时器2。

while code.png


为了测量频率,我们将计算方波开启或关闭的时间。但要准确地做到这一点,我们必须让自己进入一个已知的状态,否则我们可能最终只会测量开/关时间的一小部分。因此,为此,我们等待信号的下降沿,然后等待上升沿,然后等待下降沿。信号低后,定时器启动并开始计数。当信号变高时,我们停止定时器,TMR2将有一个值,其值与频率成反比。

take readings.png


制作过程

该项目可以使用大多数电路搭建技术制作,这要归功于有很多可用的插件。这种电路搭建技术包括面包板、条形板、矩阵板和PCB。在本篇文章中,我使用了PCB,这里使用的7805是SOT-89部件,占地面积非常小并且是表面贴装的。

PCB.jpeg

all compelete.jpeg

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-8 09:18 , Processed in 0.053327 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

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