#include <Servo.
h>
Servo servo1;
Servo servo2;
#define S0 4 // S0 a pin 4
#define S1 5 // S1 a pin 5
#define S2 6 // S2 a pin 6
#define S3 7 // S3 a pin 7
#define salidaTCS 8 // salidaTCS a pin 8
void setup() {
[Link](9);
[Link](10);
pinMode(S0, OUTPUT); // pin 4 como salida
pinMode(S1, OUTPUT); // pin 5 como salida
pinMode(S2, OUTPUT); // pin 6 como salida
pinMode(S3, OUTPUT); // pin 7 como salida
pinMode(salidaTCS, INPUT); // pin 8 como entrada
digitalWrite(S0,HIGH); // establece frecuencia de salida
digitalWrite(S1,LOW); // del modulo al 20 por ciento
[Link](9600); // inicializa monitor serie a 9600 bps
}
void loop() {
[Link](0);
[Link](0);
digitalWrite(S2,LOW); // establece fotodiodos
digitalWrite(S3,LOW); // con filtro rojo
int rojo = pulseIn(salidaTCS, LOW); // obtiene duracion de pulso de salida
del sensor
delay(200); // demora de 200 mseg
digitalWrite(S2,HIGH); // establece fotodiodos
digitalWrite(S3,HIGH); // con filtro verde
int verde = pulseIn(salidaTCS, LOW); // obtiene duracion de pulso de
salida del sensor
delay(200); // demora de 200 mseg
digitalWrite(S2,LOW); // establece fotodiodos
digitalWrite(S3,HIGH); // con filtro azul
int azul = pulseIn(salidaTCS, LOW); // obtiene duracion de pulso de salida
del sensor
delay(200); // demora de 200 mseg
[Link]("R:"); // muestra texto
[Link](rojo); // muestra valor de variable rojo
[Link]("\t"); // espacio de tabulacion
[Link]("V:"); // muestra texto
[Link](verde); // muestra valor de variable verde
[Link]("\t"); // espacio de tabulacion
[Link]("A:"); // muestra texto
[Link](azul); // muestra valor de variable azul
// y salto de linea
if ( rojo < 70 && verde > 150 && azul > 120){ // si valores dentro del
rango
[Link]("ROJO"); // muestra texto
delay(500);
[Link](45);
delay(2500);
}
if (rojo > 180 && verde < 150 && azul > 120
){ // si valores dentro del rango
[Link]("VERDE");
// muestra texto
delay(1000);
[Link](45);
delay(2500);
}
if (rojo > 160 && verde > 130 && azul < 100){ // si valores dentrol
del rango
[Link]("AZUL"); // muestra texto
}