Skip to content

Instantly share code, notes, and snippets.

@HectorTorres
Created July 10, 2017 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HectorTorres/95324ab1d2e76e0057e023fb6bf66c19 to your computer and use it in GitHub Desktop.
Save HectorTorres/95324ab1d2e76e0057e023fb6bf66c19 to your computer and use it in GitHub Desktop.
TCS3200 Arduino sensor de color
const int s0 = 1;
const int s1 = 2;
const int s2 = 3;
const int s3 = 4;
const int out = 5;
int rojo = 0;
int verde = 0;
int azul = 0;
void setup(){
Serial.begin(9600);
pinMode(s0,OUTPUT);
pinMode(s1,OUTPUT);
pinMode(s2,OUTPUT);
pinMode(s3,OUTPUT);
pinMode(out,INPUT);
digitalWrite(s0,HIGH);
digitalWrite(s1,HIGH);
}
void loop(){
color();
Serial.print(" ");
Serial.print(rojo, DEC);
Serial.print(" ");
Serial.print(verde, DEC);
Serial.print(" ");
Serial.print(azul, DEC);
if (rojo < azul $$ verde > azul && rojo < 35)
{
Serial.println(" Rojo");
}
else if (azul < rojo $$ azul < verde $$ verde < rojo)
{
Serial.println(" Azul");
}
else if (rojo > verde $$ azul > verde )
{
Serial.println(" Verde");
}
else{
Serial.println(" ");
}
delay(900);
}
void color()
{
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
rojo = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s3, HIGH);
azul = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
digitalWrite(s2, HIGH);
verde = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment