Buenas tardes amigos soy nuevo en esto de programación con arduino, discúlpenme si rompo alguna regla del foro :-[ y les quiero pedir su ayuda con un proyecto que estoy elaborando en verdad es algo simple pero si no has manejado esta plataforma con anterioridad la simpleza se va reduciendo, se trata de una cinta transportadora con 3 sensores de presencia, necesito que al llegar a cada sensor se detenga la banda ya active una solenoide para dosificar producto eso ya lo tengo (mediante un delay) pero después necesito que vuelva a arrancar la banda pero no arranca porque el sensor que hizo que se detuviera sigue activo y no se como desactivarlo momentáneamente para que pueda volver a prender la banda.
de antemano agradezco su disposición y amabilidad.
// DECLARACION DE SALIDAS DIGITALES PARA ELECTROVALVULAS DE INYECCION DE PRODUCTO.
int SOLENOIDE1 = 8;
int SOLENOIDE2 = 9;
int SOLENOIDE3 = 10;
int PARARBANDA = 11;
// DECLARACION DE ENTRADAS DIGITALES DE SENSORES DE POSICION Y DE SELECTOR DE 2 POSICIONES.
int sensorposicion1 = 2;
int sensorposicion2 = 3;
int sensorposicion3 = 4;
int selectorposicion1 = 5;
int selectorposicion2 = 6;
// ASIGNACION INICIAL DE VALORES PARA ENTRADAS DIGITALES ANTES DE LEERLOS.
int valor1 = 0;
int valor2 = 0;
int valor3 = 0;
int valor4 = 0;
int valor5 = 0;
void setup()
{
// ASIGNACION DE SALIDAS DIGITALES.
pinMode(SOLENOIDE1, OUTPUT); //definir pin como salida
pinMode(SOLENOIDE2, OUTPUT); //definir pin como salida
pinMode(SOLENOIDE3, OUTPUT); //definir pin como salida
pinMode(PARARBANDA, OUTPUT); //definir pin como salida
// ASIGNACION DE ENTRADAS DIGITALES.
pinMode(sensorposicion1, INPUT); //definir pin como entrada
pinMode(sensorposicion2, INPUT); //definir pin como entrada
pinMode(sensorposicion3, INPUT); //definir pin como entrada
pinMode(selectorposicion1, INPUT); //definir pin como entrada
pinMode(selectorposicion2, INPUT); //definir pin como entrada
}
void loop()
{
// LECTURA DE ENTRADAS DIGITALES: SENSORES DE POSICION Y SELECTOR.
valor1 = digitalRead( sensorposicion1 );
valor2 = digitalRead(sensorposicion2 );
valor3 = digitalRead( sensorposicion3 );
valor4 = digitalRead( selectorposicion1 );
valor5 = digitalRead( selectorposicion2 );
//SI NO ESTA PRESENTE LA SEÑAL DEL SENSOR 1 MANDA PRENDER LA ELECTROVALVULA 1 POR 1 SEGUNDO Y MANDA PARAR LA BANDA.
if
(valor1 == LOW) {
digitalWrite(PARARBANDA, LOW);
digitalWrite(SOLENOIDE1, HIGH);
delay (1000);
}
else
{
digitalWrite(PARARBANDA, HIGH);
digitalWrite(SOLENOIDE1, LOW);
}
//SI NO ESTA PRESENTE LA SEÑAL DEL SENSOR 2 MANDA PRENDER LA ELECTROVALVULA 2 POR 1 SEGUNDO Y MANDA PARAR LA BANDA.
if
(valor2 == LOW ){
digitalWrite(PARARBANDA, LOW);
digitalWrite(SOLENOIDE2, HIGH);
delay (1000);
digitalWrite(PARARBANDA, HIGH);
digitalWrite(SOLENOIDE2, LOW);
}
}