*/
int s2 = 3; int s3 = 4; int s4 = 5; /* Finales de Clasificaci�n
*/
int s5 = 6; int s6 = 7; int s7 = 8; /* Finales de Llegada */
int s8 = 9; int s9 = 10; int s10 = 11; int s11 = 12; /* Finales de BCD's */
int vs0, vs1, vs2, vs3, vs4, vs5, vs6, vs7, vs8, vs9, vs10, vs11; /* Valores de Los
Finales en LOW/HIGH */
int vbs2, vbs3, vbs4, vbs5, vbs6, vbs8, vbs9, vbs10, vbs11; /* Valores de Los
Finales en Booleana 1/0 */
void setup() {
pinMode(s0, INPUT); pinMode(s1, INPUT);
/* Pulsadores Inicio y Stop */
pinMode(s2, INPUT); pinMode(s3, INPUT); pinMode(s4, INPUT);
/* Finales de Clasificaci�n */
pinMode(s5, INPUT); pinMode(s6, INPUT); pinMode(s7, INPUT);
/* Finales de Llegada */
pinMode(s8, INPUT); pinMode(s9, INPUT); pinMode(s10, INPUT); pinMode(s11,
INPUT); /* Finales de BCD's */
pinMode(KM1, OUTPUT); pinMode(KM2, OUTPUT); pinMode(KM3, OUTPUT); pinMode(KM4,
OUTPUT); pinMode(KM5, OUTPUT); /* Motores y sus sentidos de giro */
pinMode(h1, OUTPUT); pinMode(h2, OUTPUT); pinMode(h3, OUTPUT);
/* LEDs de Anomalia y Vias Llenas */
}
void loop() {
//Clasificaci�n de Piezas:
}
if ((vs2 == HIGH) && (vs3 = HIGH) && (vs4 = LOW)) {
if (CantB < CantMax) {
tipo = 2; /* Tipo B */
CantB++; /* Aumenta la cantidad de Piezas B para Conteo */
}
else {
tipo = 4; /* Tipo A desechada por Linea Llena */
}
}
//Clasificaci�n de Anomalias:
if (tipo == 3) {
vKM1 = 0; /* Desactiva vKM1, para frenar la banda */
}
}
else {
digitalWrite(KM1, LOW); /* Apaga el Motor de Banda */
if (tipo == 3) {
digitalWrite(h3, HIGH); /* Enciende LED de Anomalia */
}
}
// Bandeja de CD's A
if (vs10 == HIGH) {
vKM1 = 1; /* Activa Motor de Banda */
vbs8 = 0; /* Desactiva Booleano de enclavamiento s8 */
vbs10 = 1; /* Activa Booleano de enclavamiento s10 */
tipo = 0; /* Reset del clasificador */
digitalWrite(KM2, LOW); /* Desactiva Motor en giro de Salida BCD A */
}
if (vbs10 == 1) {
while (vbs8 == 0) {
digitalWrite(KM3, HIGH); /* Activa Motor en giro de Entrada BCD A */
}
}
vs8 = digitalRead(s8); /* Lee Final de Bandeja A Adentro */
if (vs8 == HIGH) {
vbs10 = 0; /* Desactiva Booleano de enclavamiento s10 */
vbs8 = 1; /* Activa Booleano de enclavamiento s8 */
digitalWrite(KM3, LOW); /* Desactiva Motor en giro de Entrada BCD A */
}
if (vs9 == HIGH) {
vbs11 = 0; /* Desactiva Booleano de enclavamiento s11 */
vbs9 = 1; /* Activa Booleano de enclavamiento s9 */
digitalWrite(KM5, LOW); /* Desactiva Motor en giro de Entrada BCD B */
}
}
else {
//Al estar desactivado (Presionarse s0=STOP,o en caso de Emergencia), ocurre:
digitalWrite(KM1, LOW);
digitalWrite(KM2, LOW);
digitalWrite(KM3, LOW);
digitalWrite(KM4, LOW);
digitalWrite(KM5, LOW);
digitalWrite(h1, LOW);
digitalWrite(h2, LOW);
digitalWrite(h3, LOW);
tipo = 0;
CantA = 0;
CantB = 0;
CantMax = 4;
CantR = 0;
vKM1 = 0;
vbs8 = 0;
vbs9 = 0;
vbs10 = 0;
vbs11 = 0;
}
}