현재 위치
홈색상 인식 센서 모듈 / TCS2300D/TCS230 Color Recognition Sensor Module
제품정보:
▶This module uses the TCS230 sensor, which is composed of 64 photo diodes. These 64 photodiodes, has 16 filters for red, 16 for green,
16 for blue color and 16 has no filter at all.
▶Distributed evenly over the sensor, these sensors capture light by filtering out colors and generate the output a square wave signal with
information about the intensity of the colors red (R = Red) , green (G = Green) andBlue (B = Blue) .
▶As the module shown above, the TCS230 sensor is usually mounted together with four white LEDs for lighting, and eight pins for connection.
▶The module accepts power from 3 to 5 volts and are used 5 - pin for connection to the Arduino: the control pinsS0, S1, S2, S3 ,
and the pin OUT , which is responsible for sending information.
▶The pin OE (Output Enable, or enabled / activated output) must be connected to GND, since the module will send information continuously Arduino.
In the circuit I added 3 LEDs in corresponding colors to light up when a particular color is recognized by the sensor.
While working in this experiment only with the three primary colors, nothing prevents other combinations are used in the program,
according to the RGB signal levels.
In the program, the S0 and S1 pins are placed at a high level and then switched the states S2 and S3 pins,
which determine which photodiode is activated. See the table below for the combinations that determine the type of output frequency and also
the pattern of activation of photodiodes:
-아두이노 코드
int S0 = 2; // output frequency control pin
int S1 = 3; // input frequency control pin
int S2 = 6; // pin color filter control
int S3 = 5; // pin color filter control
int taosOutPin = 4; // pin output for PWM
int LED = 13; // pinD
int R = 9; // PWM red
int G = 10; // PWM green
int B = 11; // PWM blue
double Coeff = 0;
int Ro = 0; // pin E
int Go = 0; // pin E
int Bo = 0; // pin E
void setup() {
TCS230setup();
Serial.begin(9600);
Serial.print("\n\n\nready\n\n\n");
pinMode(R,OUTPUT); //S2 pinE
pinMode(G,OUTPUT); //S2 pinE
pinMode(B,OUTPUT); //S2 pinE
delay(100);
}
void loop() {
Serial.print(detectColor(taosOutPin));
Serial.print("\n\n\n");
delay(1000);
}
int detectColor(int taosOutPin){
double isPresentTolerance = 5;
double isPresent = colorRead(taosOutPin,0,0)/colorRead(taosOutPin,0,1);
Serial.print("isPresent:");
Serial.println(isPresent,2);
Serial.print("valore isPresentTolerance:");
Serial.println(isPresentTolerance,2);
if(isPresent < isPresentTolerance){
Serial.println("nessuna superficie rilevata");
return 0;
}
double red,blue,green;
double white = colorRead(taosOutPin,0,1);
red = white/colorRead(taosOutPin,1,1);
blue = white/colorRead(taosOutPin,2,1);
green = white/colorRead(taosOutPin,3,1);
Serial.print("red");
Serial.println(red);
Serial.print("blue");
Serial.println(blue);
Serial.print("green");
Serial.println(green);
if(red > blue && red > green){
Coeff = 255 / red;
Ro = 255;
Go = green * Coeff;
Bo = blue * Coeff;
LED_RGB(Ro, Go, Bo);
return 1;
}
if(blue > green && blue > red){
Coeff = 255 / blue;
Bo = 255;
Go = green * Coeff;
Ro = red * Coeff;
LED_RGB(Ro, Go, Bo);
return 2;
}
if(green > blue && green > red){
Coeff = 255 / green;
Go = 255;
Ro = red * Coeff;
Bo = blue * Coeff;
LED_RGB(Ro, Go, Bo);
return 3;
}
}
double colorRead(int taosOutPin, int color, boolean LEDstate){
//make sure that the pin is set to input
pinMode(taosOutPin, INPUT);
taosMode(1);
int sensorDelay = 3;
//set pins to trigger filters
if(color == 0){// bianco (no filtri)
digitalWrite(S3, LOW); //S3
digitalWrite(S2, HIGH); //S2
//Serial.print(" w");
}else if(color == 1){// red filter
digitalWrite(S3, LOW); //S3
digitalWrite(S2, LOW); //S2
//Serial.print(" r");
}else if(color == 2){// blue filter
digitalWrite(S3, HIGH); //S3
digitalWrite(S2, LOW); //S2
//Serial.print(" b");
}else if(color == 3){// green filter
digitalWrite(S3, HIGH); //S3
digitalWrite(S2, HIGH); //S2
//Serial.print(" g");
}
double readPulse;
if(LEDstate == 0){
taosMode(0);
// digitalWrite(LED, LOW);
}
if(LEDstate == 1){
taosMode(1);
// digitalWrite(LED, HIGH);
}
delay(sensorDelay);
readPulse = pulseIn(taosOutPin, LOW, 80000);
// pulse timeout read setting
if(readPulse < .1){
readPulse = 80000;
}
// turn off sensor led
taosMode(0);
return readPulse;
}
// manages the frequency output mode TaosMode(0);
// sero, sensor quiet
 
배송안내
- 배송비 : 기본배송료는 2,500원 입니다. (도서,산간,오지 일부지역은 배송비가 추가될 수 있습니다) 50,000원 이상 구매시 무료배송입니다.
- 본 상품의 평균 배송일은 0일입니다.(입금 확인 후) 설치 상품의 경우 다소 늦어질수 있습니다.[배송예정일은 주문시점(주문순서)에 따른 유동성이 발생하므로 평균 배송일과는 차이가 발생할 수 있습니다.]
- 본 상품의 배송 가능일은 0일 입니다. 배송 가능일이란 본 상품을 주문 하신 고객님들께 상품 배송이 가능한 기간을 의미합니다. (단, 연휴 및 공휴일은 기간 계산시 제외하며 현금 주문일 경우 입금일 기준 입니다.)
교환 및 반품안내
- 상품 택(tag)제거 또는 개봉으로 상품 가치 훼손 시에는 상품수령후 7일 이내라도 교환 및 반품이 불가능합니다.
- 저단가 상품, 일부 특가 상품은 고객 변심에 의한 교환, 반품은 고객께서 배송비를 부담하셔야 합니다(제품의 하자,배송오류는 제외)
- 일부 상품은 신모델 출시, 부품가격 변동 등 제조사 사정으로 가격이 변동될 수 있습니다.
- 신발의 경우, 실외에서 착화하였거나 사용흔적이 있는 경우에는 교환/반품 기간내라도 교환 및 반품이 불가능 합니다.
- 수제화 중 개별 주문제작상품(굽높이,발볼,사이즈 변경)의 경우에는 제작완료, 인수 후에는 교환/반품기간내라도 교환 및 반품이 불가능 합니다.
- 수입,명품 제품의 경우, 제품 및 본 상품의 박스 훼손, 분실 등으로 인한 상품 가치 훼손 시 교환 및 반품이 불가능 하오니, 양해 바랍니다.
- 일부 특가 상품의 경우, 인수 후에는 제품 하자나 오배송의 경우를 제외한 고객님의 단순변심에 의한 교환, 반품이 불가능할 수 있사오니, 각 상품의 상품상세정보를 꼭 참조하십시오.
환불안내
AS안내
- 소비자분쟁해결 기준(공정거래위원회 고시)에 따라 피해를 보상받을 수 있습니다.
- A/S는 판매자에게 문의하시기 바랍니다.
이미지 확대보기
색상 인식 센서 모듈 / TCS3200D/TCS320 Color Recognition Sensor Module
비밀번호 인증
글 작성시 설정한 비밀번호를 입력해 주세요.
확인