// Definición de pines y variables
const int sensorTamanoCarroPin = A0; // Pin analógico para el sensor de tamaño del carro
const int estacionAPin = 2; // Pin para el sensor de la estación A
const int estacionBPin = 3; // Pin para el sensor de la estación B
const int estacionCPin = 4; // Pin para el sensor de la estación C
const int ledIndicadorPin = 13; // Pin para el indicador LED
int tamanoCarro; // Variable para almacenar el tamaño del carro
void setup() {
// Configurar pines
pinMode(sensorTamanoCarroPin, INPUT);
pinMode(estacionAPin, INPUT);
pinMode(estacionBPin, INPUT);
pinMode(estacionCPin, INPUT);
pinMode(ledIndicadorPin, OUTPUT);
// Inicializar comunicación serial (para depuración)
Serial.begin(9600);
}
void loop() {
// Leer el valor del sensor de tamaño del carro (potenciómetro)
tamanoCarro = analogRead(sensorTamanoCarroPin);
// Determinar los tiempos de lavado, enjuague y secado según el tamaño del carro
int tiempoLavado = map(tamanoCarro, 0, 1023, 5000, 10000); // Ejemplo de mapeo de valores
int tiempoEnjuague = map(tamanoCarro, 0, 1023, 3000, 6000); // Ajusta estos valores según tus necesidades
int tiempoSecado = map(tamanoCarro, 0, 1023, 2000, 4000); // Ajusta estos valores según tus necesidades
// Iniciar el ciclo de lavado
digitalWrite(ledIndicadorPin, HIGH); // Encender el LED indicador
delay(1000); // Esperar un segundo para que el usuario detenga el carro
// Estación A (Lavado)
if (digitalRead(estacionAPin) == HIGH) {
// Encender la bomba de agua y la bomba de jabón
// Realizar el lavado durante tiempoLavado milisegundos
}
// Estación B (Enjuague)
if (digitalRead(estacionBPin) == HIGH) {
// Encender el motor de los rodillos y la bomba de agua
// Realizar el enjuague durante tiempoEnjuague milisegundos
}
// Estación C (Secado)
if (digitalRead(estacionCPin) == HIGH) {
// Encender el ventilador
// Realizar el secado durante tiempoSecado milisegundos
}
// Apagar todas las estaciones y el indicador LED al finalizar el ciclo
digitalWrite(ledIndicadorPin, LOW);
// Apagar bombas, motores y ventilador
// Esperar un tiempo antes de iniciar un nuevo ciclo
delay(5000); // Ejemplo de tiempo de espera entre ciclos
}