
1、소개
TCS3472센서 모듈, IIC나 UART 통신을 사용하여 직접 RGB 값을 출력할 수 있습니다.소비전력이 적고, 크기가 작으며 설치가 쉬운 장점을 가지고 있습니다.그 작동 원리는, 조명 LED를 통해 빛을 발사하고, 측정 대상 물체에 빛이 반사되면, 빛이 필터를 통해 RGB 비율을 검출하여 색상을 인식하는 것입니다.모듈은 데이터를 읽는 두 가지 방법을 가지고 있습니다. 즉, UART(TTL 전압) 또는 IIC(2선), 시리얼 포트의波特는 9600bps와 115200bps로 설정할 수 있으며, 지속적인 출력과 질문 출력 두 가지 방식이 있으며, 설정을 전원 끄고도 저장할 수 있습니다.간단한 7가지 색상을 인식할 수 있으며 RGB 값을 계산하지 않아도 됩니다.다양한 작업 환경에 적응할 수 있으며, 마이크로컨트롤러 및 컴퓨터와 연결됩니다。모듈은 별도의 senso
2、시뮬레이션 그래프
3、모듈 매개변수
핀 이름 | 설명 |
|---|---|
G | GND(전원 입력 부정极) |
V | VCC(전원 입력 정극) |
SDA | 데이터핀 |
SCL | 시계핀 |
전원 공급 전압: 3.3V-5V
연결 방식: PH2.0 4P 핀 라인
설치 방법:乐乐고 구축
4、회로판 크기

5、아두이노 IDE 예제 프로그램
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
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();
}6、ESP32 Python 예제(Mixly IDE /미스키에 적용됨)
개발 보드를 선택하세요 Python ESP32 【ESP32 Generic(4MB)】를 코드 모드로 전환하여 업로드하십시오
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:点击查看
예제 프로그램(ESP32-Python):
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)
7、미스키 Mixly 예제 프로그램(그래픽 언어)
예제 프로그램(UNO 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미스키(Mixly)IDE Arduino 라이브러리 다운로드 및 가져오기 가이드:点击查看

예제 프로그램(ESP32 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:点击查看
이미지 업데이트 예정...
8、테스트 환경 구축
Arduino UNO 테스트 환경 구축
부품 준비:“
UNO-R3 개발 보드 *1
UNO-R3 EXP 확장판 *1
USB type-c 데이터 케이블 *1
TCS3472 색상 센서*1
PH2.0 4P둘쪽 머리 끝 케이블 *1
전기 연결도):

ESP32 테스트 환경 설정
부품 준비:“업데이트 대기 중...
전기 연결도): 업데이트 대기 중...
9、비디오 강의
Arduino UNO 비디오 강의:点击查看
ESP32 Python 비디오 강의:点击查看
10、테스트 결과
Arduino UNO 테스트 결과:
코드를 입력한 후 모듈을 색상 판에 맞추세요。

색상을 다르게 맞추면 컴퓨터의 시리얼 포트에서 다른 r, g, b 값을 인쇄할 수 있습니다.

ESP32 테스트 결과:
업데이트 대기 중...