HS-S63-P TCS342颜色传感器

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍
  2. 原理图
  3. 模块参数
  4. 电路板尺寸
  5. 添加Arduino库文件
  6. 添加Micropython库文件
  7. ArduinoIDE 和Python语言示例程序
  8. 米思齐 Mixly 示例程序(图形化语言)
  9. Arduino测试环境搭建
  10. 视频教程
  11. 测试结论

1、介绍 点这里回到目录

TCS34725传感器模块,使用IIC或者UART通信,可直接输出RGB值。有功耗小,体积小,安装方便的优势。其工作原理是,通过照明LED发光,照射到被测物体后,返回光经过滤镜检测RGB的比例值,根据RGB的比例值识别出颜色。模块具有两种方式读取数据,即串口UART(TTL电平)或者IIC(2线),串口的波特率有9600bps与115200bps可配置,有连续、询问输出两种方式还能掉电保存设置。还可以进行简单的7种颜色识别,不需要计算RGB值。能适应不同的工作环境,与单片机及电脑连接。模块另外可以设置单独传感器芯片工作模式,作为简单传感器模块,MCU不参与数据处理工作。


2、原理图 点这里回到目录


3、模块参数 点这里回到目录

引脚名称 描述
G GND(电源输入负极)
V VCC(电源输入正极)
SDA 数据引脚
MISO 时钟引脚

  • 供电电压: 3.3V-5V

  • 连接方式:PH2.0 4P端子线

  • 安装方式:乐高搭建


4、电路板尺寸 点这里回到目录

HS-S63-P TCS342颜色传感器


5、添加Arduino库文件

不会使用库文件的参考这里库文件安装使用

库文件下载:点击下载

米思齐库文件下载步骤(使用代码前前下载米思齐库文件):

第一步:找到库文件

点击设置,再点击管理库

HS-S63-P TCS342颜色传感器

第二步:找到对应的库并勾选上

HS-S63-P TCS342颜色传感器

第三步:点击导入

HS-S63-P TCS342颜色传感器

最后一步:检查是否添加成功,如果成功如下图所示,没有则检查以上步骤是否出错。

HS-S63-P TCS342颜色传感器


6、添加MicroPython环境库文件 点这里回到目录

不会安装库文件的请点击这里:参考链接


7、Arduino IDE示例程序 点这里回到目录

示例程序(UNO开发板):点击下载

#include <Wire.h>
#include "Adafruit_TCS34725.h"

Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X);

void printColor() {
  uint16_t clearcol = 0;
    uint16_t red = 0;
    uint16_t green = 0;
    uint16_t blue = 0;
  float r = 0;
  float g = 0;
  float b = 0;
  float average = 0;
  delay(100);
  tcs.getRawData(&red, &green, &blue, &clearcol);
  //加权平均值算法
  average = (red + (green + blue)) / 3;
  r = red / average;
  g = green / average;
  b = blue / average;
  Serial.println(String("r ") + String(r) + String(" g ") + String(g) + String(" b ") + String(b));
  if ((r > 1.2 && r < 1.9) && (g < 1 && (b > 0.45 && b < 0.9))) {
    Serial.print(" 红");

  } else if (r < 1.1 && (g > 1.3 && b < 0.7)) {
    Serial.print(" 绿");
  } else if ((r > 1 && r < 1.5) && ((g > 1.1 && g < 1.4) && (b > 0.35 && b < 0.75))) {
    Serial.print(" 黄");
  } else if ((r > 0.7 && r < 1) && (g < 1.2 && b > 1)) {
    Serial.print(" 蓝");
  } else if (false) {
  } else {
    Serial.print(" 不是匹配的颜色");

  }
  delay(10);
}

void setup(){
  Serial.begin(9600);
  if (tcs.begin(0x29)) {
    Serial.println("搜索到TCS34725");

  } else {
    Serial.println("没有搜索到TCS34725");
    while (true) {
      delay(1);
    }

  }
}

void loop(){
  printColor();

}

示例程序(ESP32开发板):

import machine
import time


from machine import Pin,I2C
from tcs34725 import TCS34725
import time

# 创建I2C对象
i2cObj = I2C(1,scl = Pin(22),sda = Pin(21),freq = 400000)
# 打印扫描出的I2C对象
print("I2C Bus Scan: ", i2cObj .scan(), "\n")
# 创建tcs34725颜色识别模块对象
tcs = TCS34725(i2cObj ,0x29)
# 创建RGB颜色计算函数
def Colour():
    try:
        red,green,blue,colour = tcs.read(True)  # 读取颜色值

        if colour != 0:  # 如果colour不等于0
            Red   = int((red / colour) * 32)  # 计算红色的值
            Green = int((green / colour) * 32)  # 计算绿色的值
            Blue  = int((blue / colour) * 32)  # 计算蓝色的值
            return Red,Green,Blue
        else:
            return 0,0,0
    except :
        print("数据异常!")
        RuntimeError
RGB = [0, 0, 0]
while True:
    print('(r,g,b)对应是',end ="")
    # 获取颜色R,G,B函数
    print(Colour())
    time.sleep_ms(10)

8、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录

示例程序(UNO开发板)点击下载

HS-S63-P TCS342颜色传感器

示例程序(ESP32开发板):点击下载


9、测试环境搭建 点这里回到目录

Arduino UNO 测试环境搭建

准备配件:

  • UNO-R3 开发板 *1
  • UNO-R3 EXP 扩展板 *1
  • USB type-c 数据线 *1
  • TCS3472颜色传感器*1
  • PH2.0 4P双头端子线 *1

电路接线图:

HS-S63-P TCS342颜色传感器

ESP32 Python 测试环境搭建


10、视频教程 点这里回到目录

Arduino UNO视频教程:点击查看

ESP32 Python视频教程:


11、测试结论 点这里回到目录

Arduino UNO测试结论:

下入代码,之后将模块对准颜色板。

HS-S63-P TCS342颜色传感器

对准不同的颜色,可以观察到电脑串口打印不同的r,g,b值。

HS-S63-P TCS342颜色传感器


点这里回到目录