Control de LEDs por Color
0:44
Cpp
#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 // Definición de pines para los LEDs #define LED_ROJO 9 // LED rojo en pin 9 #define LED_VERDE 10 // LED verde en pin 10 void setup() { // Configuración de pines del sensor TCS3200 pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(salidaTCS, INPUT); // Configuración de pines para los LEDs pinMode(LED_ROJO, OUTPUT); pinMode(LED_VERDE, OUTPUT); // Selecciona la frecuencia de salida del sensor (20%) digitalWrite(S0, HIGH); digitalWrite(S1, LOW); // Inicializa el monitor serie Serial.begin(9600); } void loop() { int rojo, verde, azul; // Medición del canal rojo digitalWrite(S2, LOW); digitalWrite(S3, LOW); rojo = pulseIn(salidaTCS, LOW); delay(200); // Medición del canal verde digitalWrite(S2, HIGH); digitalWrite(S3, HIGH); verde = pulseIn(salidaTCS, LOW); delay(200); // Medición del canal azul (no utilizado en la lógica de LED) digitalWrite(S2, LOW); digitalWrite(S3, HIGH); azul = pulseIn(salidaTCS, LOW); delay(200); // Imprime los valores medidos en el monitor serie Serial.print("R:"); Serial.print(rojo); Serial.print("\tV:"); Serial.print(verde); Serial.print("\tA:"); Serial.println(azul); // Lógica para determinar el color predominante: // El sensor TCS3200 devuelve un pulso cuyo tiempo es inversamente proporcional al nivel de intensidad. // Por ello: un valor menor significa mayor intensidad. // - Si el valor de 'rojo' es menor que 'verde', el rojo es más intenso. // - De lo contrario, predominan los verdes. if (rojo < verde) { digitalWrite(LED_ROJO, HIGH); digitalWrite(LED_VERDE, LOW); } else { digitalWrite(LED_VERDE, HIGH); digitalWrite(LED_ROJO, LOW); } delay(500); // Pequeña pausa antes de la siguiente lectura }
Ready.
Reviews
Inspect
Colossal Green Gadget Copter
Controls
Properties
Availability & Pricing
| Distributor | Qty 1 | |
|---|---|---|
Assets
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.