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、Arduino 라이브러리 추가
라이브러리를 사용하지 못하는 참고 여기:라이브러리 설치 사용 방법
라이브러리 다운로드:다운로드 클릭
미스키 라이브러리 다운로드 단계(코드 사용 전 먼저 미스키 라이브러리 다운로드):
첫 번째 단계: 라이브러리 파일 찾기
설정을 클릭하고, 라이브러리 관리를 클릭하세요

第二步:한국어 번역로 대체된 텍스트를 입력하세요

第三步:한국어 번역로 대체된 텍스트를 입력하세요

最后一步:한국어 번역로 대체된 텍스트를 입력하세요

6、한국어로 MicroPython 환경 라이브러리 파일 추가
빌드 파일을 설치하지 못하신 분은 여기를 클릭하세요:참고 링크
7、아두이노 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 개발판):다운로드 클릭

예제 프로그램(ESP32 개발 보드):다운로드 클릭
9、테스트 환경 구축
Arduino UNO 테스트 환경 구축
부품 준비:“
UNO-R3 개발 보드 *1
UNO-R3 EXP 확장판 *1
USB type-c 데이터 케이블 *1
TCS3472 색상 센서*1
PH2.0 4P둘쪽 머리 끝 케이블 *1
전기 연결도):

ESP32 Python 테스트 환경 구축
10、비디오 강의
Arduino UNO 비디오 강의:시각화 클릭
ESP32 Python 비디오 강의:
11、테스트 결과
Arduino UNO 테스트 결과:
코드를 입력한 후 모듈을 색상 판에 맞추세요。

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