Descripción
SENSOR DE COLOR TCS230
El sensor de color con integrado TCS230 puede filtrar los datos RGB de la fuente de luz y la convierten en una onda cuadrada (50% ciclo de trabajo) con una frecuencia directamente proporcional a la intensidad de la luz de radiación. La frecuencia de salida se puede escalar por uno de los tres valores prestablecidos a través de dos pines de control de entrada SO y SI, con opciones seleccionables del 2%, 20% y 100% de frecuencia; los pines S2 y S3 sirven para controlar el filtro de RGB.
Los pines de entradas y salida permiten ser conectados directamente a un microcontrolador o circuito lógico.
Características:
Escala la frecuencia de salida
Opera desde una sola fuente de alimentación de 2.7 a 5.5V.
Pin de apagado de funciones.
Error no lineal de 0.2% a 50 kHz.
Alta Resolución de conversión dela intensidad de luz a frecuencia.
Modo de bajo consumo de energía.
Leds incluidos en el PCB para iluminar el objeto a reconocer.
Se comunica directamente con un microcontrolador (PIC, Arduino, etc.)
Ejemplo de conexión y código de arduino con TCS230
// TCS230 or TCS3200 pins wiring to Arduino
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8
// Stores frequency read by the photodiodes
int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;
void setup() {
// Setting the outputs
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
// Setting the sensorOut as an input
pinMode(sensorOut, INPUT);
// Setting frequency scaling to 20%
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
// Begins serial communication
Serial.begin(9600);
}
void loop() {
// Setting RED (R) filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
// Reading the output frequency
redFrequency = pulseIn(sensorOut, LOW);
// Printing the RED (R) value
Serial.print("R = ");
Serial.print(redFrequency);
delay(100);
// Setting GREEN (G) filtered photodiodes to be read
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
// Reading the output frequency
greenFrequency = pulseIn(sensorOut, LOW);
// Printing the GREEN (G) value
Serial.print(" G = ");
Serial.print(greenFrequency);
delay(100);
// Setting BLUE (B) filtered photodiodes to be read
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
// Reading the output frequency
blueFrequency = pulseIn(sensorOut, LOW);
// Printing the BLUE (B) value
Serial.print(" B = ");
Serial.println(blueFrequency);
delay(100);
}
Valoraciones
No hay valoraciones aún.