int Corto = 300;
int Medio = 600;
int Largo = 1000;
int analog_val;
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
Serial.println("Bienvenido al autolavado, el ciclo se ajustara por el peso del vehiculo." );
}
void loop() {
analog_val = analogRead(A0);
delay(10);
if (analog_val >= 682 ){
//Lavado indicador
while (digitalRead(11)== HIGH){
digitalWrite(2, HIGH);
delay(Largo );
//Lavado
digitalWrite(5, HIGH);
delay(Largo );
digitalWrite(5, 0);
delay(Largo );
digitalWrite(6, HIGH);
delay(Largo );
digitalWrite(6, 0);
delay(Largo );
}
//Enjuague indicador
while (digitalRead(12)== HIGH){
digitalWrite(3, HIGH);
delay(Largo );
//Enjuague
digitalWrite(7, HIGH);
delay(Largo );
digitalWrite(7, 0);
delay(Largo );
digitalWrite(8, HIGH);
delay(Largo );
digitalWrite(8, 0);
delay(Largo );
}
//secado
while (digitalRead(13)== HIGH){
digitalWrite(4, HIGH);
delay(Largo );
digitalWrite(9, HIGH);
delay(Largo );
digitalWrite(9, 0);
delay(Largo );
}
}else if(analog_val >= 341 ){
//indicador
while (digitalRead(11)== HIGH){
digitalWrite(2, HIGH);
delay(Medio);
//Lavado
digitalWrite(5, HIGH);
delay(Medio );
digitalWrite(5, 0);
delay(Medio );
digitalWrite(6, HIGH);
delay(Medio );
digitalWrite(6, 0);
delay(Medio);
}
//Enjuague indicador
while (digitalRead(12)== HIGH){
digitalWrite(3, HIGH);
delay(Medio);
//Enjuague
digitalWrite(7, HIGH);
delay(Medio);
digitalWrite(7, 0);
delay(Medio);
digitalWrite(8, HIGH);
delay(Medio);
digitalWrite(8, 0);
delay(Medio);
}
while (digitalRead(13)== HIGH){
//secado indicador
digitalWrite(4, HIGH);
delay(Medio);
//ventidador
digitalWrite(9, HIGH);
delay(Medio);
digitalWrite(9, 0);
delay(Medio);
}
}else if(analog_val >= 0 ){
//lavado indicador
while (digitalRead(11)== HIGH){
digitalWrite(2, HIGH);
delay(Corto);
//lavado
digitalWrite(5, HIGH);
delay(Corto );
digitalWrite(5, 0);
delay(Corto );
digitalWrite(6, HIGH);
delay(Corto );
digitalWrite(6, 0);
delay(Corto);
}
while (digitalRead(12)== HIGH){
//enjuague indicador
digitalWrite(3, HIGH);
delay(Corto);
//Enjuague
digitalWrite(7, HIGH);
delay(Corto);
digitalWrite(7, 0);
delay(Corto);
digitalWrite(8, HIGH);
delay(Corto);
digitalWrite(8, 0);
delay(Corto);
}
//Secado indicador
while (digitalRead(13)== HIGH){
digitalWrite(4, HIGH);
delay(Corto);
// ventilador
digitalWrite(9, HIGH);
delay(Corto);
digitalWrite(9, 0);
delay(Corto);
}
}
{
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
digitalWrite(9, 0);
}
}