Estacionamiento Inteligente Arduino
1:01
Cpp
// Ejemplo para el sensor de colores TC230 // Se utilizan 5 pines: // S0 y S1 para la escala de frecuencia // S2 y S3 para seleccionar el filtro (rojo, azul o verde) // sensorOut para leer la frecuencia resultante const int s0 = 4; // Escala de salida: controla la frecuencia const int s1 = 5; const int s2 = 6; // Selección para el filtro: combinación con s3 const int s3 = 7; const int sensorOut = 8; // Pin de salida de señal del sensor void setup() { Serial.begin(9600); // Configurar pines de control como salidas pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); // Pin de salida del sensor como entrada pinMode(sensorOut, INPUT); // Configurar la escala de frecuencia. // En este ejemplo se activa la escala al 100% (puedes modificarla): digitalWrite(s0, HIGH); digitalWrite(s1, LOW); Serial.println("Inicio de mediciones con sensor TC230"); } void loop() { unsigned long redPeriod, greenPeriod, bluePeriod; // Medir intensidad de color ROJO: // Configurar filtro rojo: s2 = LOW, s3 = LOW digitalWrite(s2, LOW); digitalWrite(s3, LOW); redPeriod = pulseIn(sensorOut, LOW); // Medir intensidad de color AZUL: // Configurar filtro azul: s2 = LOW, s3 = HIGH digitalWrite(s2, LOW); digitalWrite(s3, HIGH); bluePeriod = pulseIn(sensorOut, LOW); // Medir intensidad de color VERDE: // Configurar filtro verde: s2 = HIGH, s3 = HIGH digitalWrite(s2, HIGH); digitalWrite(s3, HIGH); greenPeriod = pulseIn(sensorOut, LOW); // Se imprimen los valores medidos. Valores menores indican mayor intensidad. Serial.print("Rojo = "); Serial.print(redPeriod); Serial.print(" | Verde = "); Serial.print(greenPeriod); Serial.print(" | Azul = "); Serial.println(bluePeriod); // Determinar el color predominante (se asume que el valor más pequeño corresponde a mayor intensidad) if (redPeriod < greenPeriod && redPeriod < bluePeriod) { Serial.println("Color detectado: ROJO"); } else if (greenPeriod < redPeriod && greenPeriod < bluePeriod) { Serial.println("Color detectado: VERDE"); } else if (bluePeriod < redPeriod && bluePeriod < greenPeriod) { Serial.println("Color detectado: AZUL"); } else { Serial.println("No se puede determinar un color predominante claro."); } Serial.println("-----------------------------"); delay(500); }
Conexiones del Sensor TC230
| Conexión | Detalle de la conexión | Notas |
|---|---|---|
| S0 | Conectar al pin digital 4 del Arduino | Configurado para seleccionar la escala de frecuencia. |
| S1 | Conectar al pin digital 5 del Arduino | Configurado junto con S0. |
| S2 | Conectar al pin digital 6 del Arduino | Selección del filtro para color rojo (s2 LOW, s3 LOW) o azul/verde. |
| S3 | Conectar al pin digital 7 del Arduino | Selección del filtro para color azul (s2 LOW, s3 HIGH) o verde (s2 HIGH, s3 HIGH). |
| Salida del sensor (OUT) | Conectar al pin digital 8 del Arduino, configurado como entrada. | Lee la frecuencia correspondiente al color filtrado. |
| VCC | Conectar a 5V en el Arduino | |
| GND | Conectar a GND en el Arduino |
Ready.
Reviews
Inspect
Afraid Gold Hoverboard
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.