/*--------ETIQUETAS PARA LOS PINES-------------*/
#define bombaAgua_A1 2
#define bombaJabon_A2 3
#define bombaAgua_B1 4
#define motorRodillos_B2 5
#define secadora_C 6
#define led_A 9
#define led_B 8
#define led_C 7
#define sensor_C 10
#define sensor_B 11
#define sensor_A 12
#define potenciometro A0 //no usar pinMode para este pin
/*----------------------------------------------*/
/*-------VARIABLES---------*/
unsigned int valorPOT, tiempo = 0;
byte rango; //se usa para un rango de valores de 1-3
void setup() {
/*---CONFIGURAR PINES COMO I/O---*/
pinMode(bombaAgua_A1, OUTPUT);
pinMode(bombaJabon_A2, OUTPUT);
pinMode(bombaAgua_B1, OUTPUT);
pinMode(motorRodillos_B2, OUTPUT);
pinMode(secadora_C, OUTPUT);
pinMode(led_A, OUTPUT);
pinMode(led_B, OUTPUT);
pinMode(led_C, OUTPUT);
pinMode(sensor_A, INPUT);
pinMode(sensor_B, INPUT);
pinMode(sensor_C, INPUT);
/*---------------------------------*/
Serial.begin(9600);//enciendo el monitor serial
}
void loop() {
digitalWrite(led_A, LOW);
valorPOT = analogRead(potenciometro);
delay(10);
//valorPOT almacena valores de 0-1023
rango = map(valorPOT, 0, 1023, 1, 3);
/*rango almacena valores de 1-3 dependiento de la
posicion de la manecilla del potenciometro*/
Serial.println(rango);//mostrar en el monitor serial
//el valor de la variable rango.
if (rango == 1) tiempo = 2000;//tiempo en ms
if (rango == 2) tiempo = 4000;
if (rango == 3) tiempo = 6000;
while (digitalRead(sensor_A) == HIGH) { //LEER VALOR DEL PIN
if(digitalRead(led_A) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(bombaAgua_A1, HIGH); //ENCENDER EL PIN motor...
digitalWrite(bombaJabon_A2, HIGH);
digitalWrite(led_A, HIGH);
delay(tiempo);
digitalWrite(bombaAgua_A1, LOW); //APAGAR EL PIN motor...
digitalWrite(bombaJabon_A2, LOW);
}
}
digitalWrite(led_B, LOW);
valorPOT = analogRead(potenciometro);
delay(10);
//valorPOT almacena valores de 0-1023
rango = map(valorPOT, 0, 1023, 1, 3);
/*rango almacena valores de 1-3 dependiento de la
posicion de la manecilla del potenciometro*/
Serial.println(rango);//mostrar en el monitor serial
//el valor de la variable rango.
if (rango == 1) tiempo = 2000;//tiempo en ms
if (rango == 2) tiempo = 4000;
if (rango == 3) tiempo = 6000;
while (digitalRead(sensor_B) == HIGH) { //LEER VALOR DEL PIN
if(digitalRead(led_B) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(bombaAgua_B1, HIGH); //ENCENDER EL PIN motor...
digitalWrite(motorRodillos_B2, HIGH);
digitalWrite(led_B, HIGH);
delay(tiempo);
digitalWrite(bombaAgua_B1, LOW); //APAGAR EL PIN motor...
digitalWrite(motorRodillos_B2, LOW);
}
}
digitalWrite(led_C, LOW);
valorPOT = analogRead(potenciometro);
delay(10);
//valorPOT almacena valores de 0-1023
rango = map(valorPOT, 0, 1023, 1, 3);
/*rango almacena valores de 1-3 dependiento de la
posicion de la manecilla */
Serial.println(rango);//mostrar en el monitor serial
//el valor de la variable rango.
if (rango == 1) tiempo = 2000;//tiempo en
if (rango == 2) tiempo = 4000;
if (rango == 3) tiempo = 6000;
while (digitalRead(sensor_C) == HIGH) { //LEER VALOR DEL PIN
if(digitalRead(led_C) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(secadora_C, HIGH);
digitalWrite(led_C, HIGH);
delay(tiempo);
digitalWrite(secadora_C, LOW);
}
}
}