#define motor_A1 2
#define motor_A2 3
#define motor_B1 4
#define motor_B2 5
#define motor_C 6
#define luz_A 7
#define luz_B 8
#define luz_C 9
#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(motor_A1, OUTPUT);
pinMode(motor_A2, OUTPUT);
pinMode(motor_B1, OUTPUT);
pinMode(motor_B2, OUTPUT);
pinMode(motor_C, OUTPUT);
pinMode(luz_A, OUTPUT);
pinMode(luz_B, OUTPUT);
pinMode(luz_C, OUTPUT);
pinMode(sensor_A, INPUT);
pinMode(sensor_B, INPUT);
pinMode(sensor_C, INPUT);
/*---------------------------------*/
Serial.begin(9600);//enciendo el monitor serial
}
void loop() {
digitalWrite(luz_A, LOW);
digitalWrite(luz_B, LOW);
digitalWrite(luz_C, LOW);
valorPOT = analogRead(potenciometro);
delay(100);
//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(luz_A) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(motor_A1, HIGH); //ENCENDER EL PIN motor...
digitalWrite(motor_A2, HIGH);
digitalWrite(luz_A, HIGH);
delay(tiempo);
digitalWrite(motor_A1, LOW); //APAGAR EL PIN motor...
digitalWrite(motor_A2, LOW);
}
}
while (digitalRead(sensor_B) == HIGH) { //LEER VALOR DEL PIN
if(digitalRead(luz_B) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(motor_B1, HIGH); //ENCENDER EL PIN motor...
digitalWrite(motor_B2, HIGH);
digitalWrite(luz_B, HIGH);
delay(tiempo);
digitalWrite(motor_B1, LOW); //APAGAR EL PIN motor...
digitalWrite(motor_B2, LOW);
digitalWrite(luz_B, HIGH);
}
}
while (digitalRead(sensor_C) == HIGH) { //LEER VALOR DEL PIN
if(digitalRead(luz_C) == LOW){//Si el led de la estacion esta apagado inicia el ciclo de lavado
digitalWrite(motor_C, HIGH); //ENCENDER EL PIN motor...
digitalWrite(luz_C, HIGH);
delay(tiempo);
digitalWrite(motor_C, LOW); //APAGAR EL PIN motor...
}
}
}