一起玩儿物联网人工智能小车(ESP32)——52. GY33(TCS34725)颜色传感器的使用方法(一)

摘要:本文介绍颜色传感器模块GY33(TCS34725)的基本知识

前面使用的循迹模块,只能对颜色反差比较大的两种颜色进行区分。但对于多种颜色,或者差别不那么明显的颜色则是无能为力了。本文将介绍一款颜色识别传感器,该传感器可以返回物体的RGB(红、绿、蓝)值,从而可以知晓被测物体的颜色。

在学习颜色传感器模块之前先来了解一下人为什么能够看到不同颜色的物体吧。通常情况下,当白光(由红、黄、绿、蓝、青、紫色光组成)照射到物体上时,一部分颜色的光被物体吸收,而还有一部分颜色的光则被反射回来,当这部分反射回来的光进入眼睛之后,就被眼睛所识别出来,被认作是物体的颜色。根据三原色理论可知,各种颜色的光都是由三原色(红R、绿G、蓝G)混合而成,因此只要知道这个物体将白光后反射后,反射光中红、绿、蓝三原色的值,就可以知道这个物体的颜色了。

颜色传感器也正是利用了这个原理,通过在光强采集传感器前面分别使用红色、绿色和蓝色的透镜,来阻挡其他颜色的光,然后再进行光强的测量,然后就得到某个颜色的光强了,最后综合三个光强值,就可以计算出物体的颜色了。

GY-33是一种基于TCS34725颜色传感器的颜色识别模块。它包括了一块ST的MCU,一块TAOS TCS34725RGB感应芯片和2个白光LED灯,GY-33能在一定的范围内检测和测量几乎所有的可见光。它适合于色度计测量应用领域。比如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制。装在我们的智能小车上,可以用来识别一些特定的颜色块,然后执行相应的动作。

使用GY-33模块,比直接使用TCS34725模块,有如下的优势:

  1. 接口更丰富了。TCS34725模块只支持IIC总线协议,而GY-33模块除了支持IIC总线协议外,还增加了TTL电平的串口UART协议。支持的通信波特率有9600bps和115200bps。这样就方便大家直接使用电脑来连接、测试和使用该模块。
  2. GY-33模块提供了2种数据输出方式:问询方式和连续方式。在连续方式下,GY-33模块可以自动不停的将测量数据通过串口输出给控制端。这将为开发者,提供更大的灵活性。
  3. GY-33模块可以直接返回计算后的RGB值,不需要控制端再进行计算。
  4. GY-33还可以直接返回简单的7种颜色结果(蓝色、深蓝色、绿色、黑色、白色、粉色、黄色、红色),在进行这几种颜色区分的时候,不需要自己去计算了。
  5. GY-33还可以通过跳线,设置为忽略MCU状态,那样和直接使用TCS34725模块是没有区别的,这个设计也使得GY-33模块可以直接兼容TCS34725使用。
  6. 成本上与TCS34725也相差不大。

下图即为GY-33模块。

GY-33模块的电气参数为:

测量范围

RGB 0-255

响应频率

10 HZ

工作电压

3~5 V

工作电流

15mA

工作温度

-20°~ 85°

储存温度

-40°~ 125°

尺寸

24.3mm×26.7mm

传感器芯片

TCS34725

GY-33模块的引脚定义说明如下:

1

VCC

电源正极(3v-5v

2

CT

串口UART_TX/IIC_SCL

3

DR

串口UART_RX/IIC_SDA

4

GND

电源地

5

NC

保留,不要连接

6

INT

TCS34725 颜色芯片中断 S1=0(接 GND 时启用)

7

SDA

TCS34725 颜色芯片数据线 S1=0(接 GND 时启用)

8

SCL

TCS34725 颜色芯片时钟线 S1=0(接 GND 时启用)

9

S0

串口/MCU_IIC模式选择

10

S1

仅使用传感器芯片选择

在这里,可以通过S0和S1的设置来选择GY-33模块的工作模式和接口形式。具体说明如下:

当S1=1(默认)时,为MCU与TCS34725同时工作,这时可以通过S0来选择通讯的协议。

S0=1为UART通讯模式(TTL电平),其中CT为UART的发送引脚,DR为接收引脚。

S0=1为IIC通讯模式,其中CT为IIC通信的时钟线SCL,DR为IIC通信的数据线SDA。

注意:当MCU与TCS34725同时工作时,SDA和SCL引脚一定要保持悬空状态,不能连接任何负载,否则将影响系统的正常运行。

当S1=0时,为仅使用传感器芯片模式,此时MCU不进行测量工作(但可以通过MCU控制LED的亮度)。这时可以通过TCS34725的原始IIC通信协议与其进行通信,这时SDA引脚为IIC通信的数据线SDA,SCL为IIC通信的时钟线SCL。INT为TCS34725的中断引脚。

下面就把GY-33模块连接到电脑,用电脑的串口先测试一下这个模块。再将GY-33连接到电脑之前,还需要一个小的设备,就是USB转UART的功能模块,因为GY-33只支持TTL电平的UART接口,因此,即使电脑有串口也是不能直接使用的,需要转换成TTL电平之后才能接到GY33模块上。下图是一个USB转UART/IIC的模块,在使用的时候,注意要先把跳线帽设置正确。如下图所示:

这个USB转UART模块在与GY-33模块连接的时候,需要注意的是,模块上标注的UART收、发引脚都是以站在模块自身的角度来说的,因此在连接的时候,应该将自身的发送连接到对方的接收端,而将对方的接收端连接到自己的发送端。具体如下表所示:

USB转UART

GY-33模块

VCC

VCC

GND

GND

TXD

DR

RXD

CT

这样就可以通过串口调试工具,或者GY-33厂商所自带的调试工具来测试和使用该模块了。另外,厂商的附带文档有详细的说明,在这里就不再举例说明了。找不到的可以咨询销售商或者私信给我。

下一篇再介绍各种接口的开发方法及注意事项。

  • 44
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起玩儿科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值