Shop OBEX P1 Docs P2 Docs Learn Events
Question about Talos TCS 3200 Color Sensor — Parallax Forums

Question about Talos TCS 3200 Color Sensor

thorobredthorobred Posts: 5
edited 2014-02-08 13:19 in Accessories
Hello I'm am new to this forum and I have a question regarding the Talos TCS 3200 color sensor that I am testing. The sensor works fine with the example code I used to read the color but it reads it at a very fast rate. I have been trying to slow it down with putting delays at certain parts of the code but it does not help. I was hoping that someone that is more experienced can help me with this issue? Code pasted below.




int s0=3,s1=4,s2=5,s3=6;
int out=2;
int flag=0;
byte counter=0;
byte countR=0,countG=0,countB=0;
void setup()
 {
 Serial.begin(9600);
 pinMode(s0,OUTPUT);
 pinMode(s1,OUTPUT);
 pinMode(s2,OUTPUT);
 pinMode(s3,OUTPUT);
 }
void TCS()
 {
 flag=0; 
 digitalWrite(s1,HIGH);
 digitalWrite(s0,HIGH);
 digitalWrite(s2,LOW);
 digitalWrite(s3,LOW);
 attachInterrupt(0, ISR_INTO, LOW);
 timer0_init();
 }
void ISR_INTO()
 {
 counter++;
 }
 void timer0_init(void)
 {
  TCCR2A=0x00;
  TCCR2B=0x07;   //the clock frequency source 1024 points
  TCNT2= 100;    //10 ms overflow again
  TIMSK2 = 0x01; //allow interrupt
 }
 int i=0;
 ISR(TIMER2_OVF_vect)//the timer 2, 10ms interrupt overflow again. Internal overflow interrupt executive function
{
    TCNT2=100;
    flag++;
 if(flag==1)
  {
    countR=counter;
    Serial.print("red=");
    Serial.println(countR,DEC);
    digitalWrite(s2,HIGH);
    digitalWrite(s3,HIGH);
     
  }
  else if(flag==2)
   {
    countG=counter;
    Serial.print("green=");
    Serial.println(countG,DEC);
    digitalWrite(s2,LOW);
    digitalWrite(s3,HIGH);
     
   }
   else if(flag==3)
    {
    countB=counter;
    Serial.print("blue=");
    Serial.println(countB,DEC);
    Serial.println("\n");
    digitalWrite(s2,LOW);
    digitalWrite(s3,LOW);
     
    
    }
    else if(flag==4)
     {
     flag=0;
     
     }
       counter=0;
       
}
void loop()
 {
  TCS();
  
while(1);
 }
Sign In or Register to comment.