본문 바로가기
아두이노 센서

[센서/컬러센서] TCS34725 센서를 통해 RGB 값을 읽어보자

by 작동미학 2017. 2. 12.
반응형

TCS34725 센서를 통해 RGB 값을 읽어서 표시해보자

 

이 가이드를 따라하면

- TCS3200보다 개선된 모듈을 활용할 수 있다.

 

먼저 읽으면 좋은 글

- 아두이노 기초 : http://bbangpan.tistory.com/1

- TCS3200 : http://bbangpan.tistory.com/45

 

부품 설명 및 회로 구성

TCS34725 TCS3200에 비하여 IR(적외선) 필터링을 갖춘, 정확도가 향상된 센서로 알려져있다. 크기도 좀더 작다. TCS3200과 동일하게 물체에 빛을 반사시키기위한 LED가 달려있는데, TCS3200에 비해 훨씬 심플하게 부착되어 있다.

 

 

<TCS34725센서, 50원 동전 크기에 가운데 RGB센서와 약간 옆에 하얀색 LED가 보인다>


연결방법 등은 https://learn.adafruit.com/adafruit-color-sensors/assembly-and-wiring  를 참조하면 된다. 3.3V~5V 모두 지원하기는 하지만 여기는 VIN에는 5V를 연결한다.

따라서 VIN -> 5V, GND -> GND, SDA -> SDA, SCL -> SCL로 연결한다.

<4개의 PIN을 연결했을 때 그림>

 

라이브러리 설치

Adafruit의 라이브러리를 사용하면 되며, https://github.com/adafruit/Adafruit_TCS34725 download zip을 누른 후 Arduino설치폴더\libraries Adafruit_TCS34725라는 폴더 명으로 파일들을 풀어 넣는다.

Zip의 압축을 풀면 Adafruit_TCS34725-master라는 폴더 명으로 풀리는데, Adafruit_TCS34725 rename해주면 덜 헷갈린다.

 

소스 코드 입력 및 구동

아래는 라이브러리 설치 후 파일->예제->Adfruit TCS34725->tcs34725를 선택하여 컴파일 구동한다.


 

센서 앞에 빨간색,파란색 물체 등을 가까이 가져다 대면, RGB값 변화가 있는 것을 알 수 있다.


<TCS34725 센서 변화값>

Color Temp(Kelvin에 표시되는 색온도), Lux(빛의 밝기), RGB 등 값을 측정할 수 있다. 실제 색을 알아내기 위해서는 RGB의 합산에 대한 비율을 구하면 되며,

정확도는 제한된 조명 상태에서는 꽤 된다. (외부 조명이 다양하게 난무하면 역시 대책이 없다.)

참고로, 화면의 Clear light(C) 빛의 순수 밝기를 나타낸다고 하는데, Lux와 크게 차이점이 없어 보인다.

화면상의 Lux나 색온도는 사실 R,G,B값을 가지고 구한다.

 

컬러 색을 알아내기 위해서는 TCS3200보다는 훨씬 나은선택이라고 할 수 있다.

 

▶ 구매 가이드

TCS34725 : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20170211232207&SearchText=TCS34725

 

강의 키워드

TCS34725, RGB Sensor, 컬러 센서, Arduino, 3.3V

반응형