EL0406 MÓDULO RECONOCIMIENTO COLOR TCS230

N.º de producto: EL0406

En existencias
El envío se realiza en 24h

6,50
IVA incluido
 


Con este modulo es posible identificar el color que se ponga frente a ella, indicando la cantidad de Rojo (0-255) Verde (0-255) y Azul (0-255)


Características:
1.Chip: TCS230
2.Input voltage: DC 3V-5V,Output frequency voltage: 0 ~ 5V
3.Use bright white LED lights ,can be connected directly with Microcontroller ,Static detection of
the measured object color
4.Best detection distance: 10mm
5.Chip pins all has drawn for standard 100, put the needle (2.54 mm), mil-convenient for bitmap board
6. PCB size: 31.6 (mm) x24.4 (mm)


Codigo de Ejemplo:

#include <TimerOne.h>

#define OUT  8
#define S2   9
#define S3   10
#define S0   11
#define S1   12
#define OE   13

#define  Filters_R  0
#define  Filters_G  1
#define  Filters_B  2

int Count[3] = {0};
int G_flag = 1;


void setup()
{
  TCS230_init();
  Select_Filters(3);             //default, no fiter
  Timer1.initialize();          // default 1S
  Timer1.attachInterrupt(callback);
  Serial.begin(9600);
}

void TCS230_init()
{
  pinMode(OUT, INPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(OE, OUTPUT);
 
  digitalWrite(S0, LOW);    // 2% of Output Frequence
  digitalWrite(S1, HIGH);
  digitalWrite(OE, LOW);
}

void Select_Filters(int RGB)
{
  switch(RGB)
  {
    case Filters_R:          //Red
    digitalWrite(S2, LOW);   
    digitalWrite(S3, LOW);
    Serial.println("-----select Red color");
    break;
   
    case Filters_G:          //Green
    digitalWrite(S2, HIGH);   
    digitalWrite(S3, HIGH);
    Serial.println("-----select Green color");
    break;
   
    case Filters_B:          //Blue
    digitalWrite(S2, LOW);   
    digitalWrite(S3, HIGH);
    Serial.println("-----select Blue color");
    break;
   
    default:                  //Clear(no filter)
    digitalWrite(S2, HIGH);   
    digitalWrite(S3, LOW);
    Serial.println("-----no filter");
    break;
  }
}

void Measure_Count(int RGB )          //For white balance correction
{
  int tmp = 0;
  while(1)
  {
    if(digitalRead(OUT) == 1)
    {
      if(G_flag == 0)
      {
        Count[RGB] = tmp;
        Serial.print("tmp=");
        Serial.println(tmp);
        break;
      }
      tmp++;
    }
  }
}


void callback()
{
  G_flag = 0;
}

void loop()
{
  Timer1.restart();
  for(int i=0; i<3; i++)
  {
    Select_Filters(i);
    Timer1.setPeriod(10000);  //set 10ms
    Measure_Count(i);
    G_flag = 1;
    Serial.println(Count[i]);
  }
  delay(3000);
}

 

Los clientes que han comprado este producto también han comprado

*
Todos los precios incluyen IVA



Examine también estas categorías: Módulos y Sensores Arduino, Todos los Productos