TCS 34725 센서는 아두이노 컬러 센서입니다. (Adafruit TCS34725)
동작전압: 3.3v ~ 5v
통신방식: i²c address 0x29
이 센서는 RGB 색상의 정보를 얻어낼 수 있습니다.
https://learn.adafruit.com/adafruit-color-sensors/overview
주의할점!
1. 어두운 곳에서 측정하는 것을 권장
2. 절대 강한 빛을 쬐어주지 말것! (ex. 스마트폰 플래쉬 라이트)
3. 부품이 납땜되어 있는것도 있고 본인이 납땜해야 할 수도 있다. (제일 중요)
TMI: 스마트폰 플래쉬 라이트는 몇 루멘일까?
보통 50~100 루멘 사이이고 물론 150을 넘을 수도 있다.
우리가 쓰는 이 TCS34725는 조도 감지(cds cell)센서가 아니므로 적어도 50루멘이 넘어가는 빛을 쬐어준다면 센서가 뻣거나
사망에 이른다.
직접 해보았더니 센서가 죽진 않았지만 3분간 뻣었다.
https://www.icbanq.com/P006971592
이렇게 0~20만 루멘까지 측정 가능한 조도센서 모듈도 따로 파니까 이런 부품에는 스마트폰 플래쉬를 비추어도 상관 없다.
어쨋든 컬러 센서를 동작시켜보자.
코드는 요짝으로 코딩하자 (컬러센서 관련 라이브러리 활용하자)
#include <Wire.h>
#include "Adafruit_TCS34725.h"
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X); // Adafruit_TCS34725라이브러리 사용을 위한 객체 생성
void setup() {
Serial.begin(9600); // 시리얼 통신 시작, 속도는 9600
if (tcs.begin()) { // tcs34725센서가 연결되어 인식했을 경우
Serial.println("Found sensor");
} else { // tcs34725센서가 연경되지 않아 인식하지 못했을 경우
Serial.println("No TCS34725 found ... check your connections");
while (1); // 중단
}
}
void loop() {
uint16_t clear, red, green, blue; // unit16_t = unsigned short int 타입
//tcs.setInterrupt(false); // led 켜기 turn on LED
delay(60);
tcs.getRawData(&red, &green, &blue, &clear); // 색상 감지 센서에서 데이터 값 받아오기
//tcs.setInterrupt(true); // turn off LED
int r = map(red, 0, 21504, 0, 1025); // 색상 감지 센서에서 받아온 빨간색 데이터값을 3색led에서 사용할수 있도록 수치 변경
int g = map(green, 0, 21504, 0, 1025); // 녹색
int b = map(blue, 0, 21504, 0, 1025); // 파란색
Serial.print("\tR:\t"); Serial.print(r); // 시리얼 모니터에 3색 led에 출력중인 붉은색 값 출력
Serial.print("\tG:\t"); Serial.print(g); // 녹색 값 출력
Serial.print("\tB:\t"); Serial.println(b); // 파란색 값 출력
}
코딩 결과 (실행시키면)
저 빛나는 부분에 색있는 물체를 대면 된다.
초록색을 비추면 당연히 G의 값이 많이 올라간 것을 볼 수 있다. 당연히 저 초록색은 RGB의 퓨어한 초록색이 아니다.
역시 RGB중 B의 값이 올라간다.
RGB중 R의 값이 올라가는 것을 확인할 수 있다.
지금까지 RGB 컬러센서 활용(?)법이었다.
정말 간단하고 쉬운 센서 활용이니까 부품만 사면 누구나 할 수 있을 정도다.
'포트폴리오' 카테고리의 다른 글
아두이노 충격/진동 센서(SW-18010P) 활용(?)해보기 (1) | 2019.08.04 |
---|---|
아두이노 자이로센서(MPU6050센서) 써보기 (5) | 2019.08.04 |
미세먼지 측정기 제작기 (아두이노) (0) | 2019.07.29 |
인공지능을 위한 수학을 읽고 (독후감) (3) | 2019.07.14 |
빅데이터 기술의 기반이 되는 표본 추출 및 모집단의 추정 (0) | 2019.06.17 |