Automatizacion de precoso de cortado de sellos

Hola que tal muy buenos dias, estoy autamotizando un preceso de cortado de sellos, pero tengo un pequeña cuestion, necesito meter un boton de reversa pero no logro conseguir que se detenga al momento de tocar el final de carrera, si no es mucha molestia estaria agradecido con ayuda, muchas gracias y bonito dia

#include<Servo.h>
#include<Stepper.h>
int stepsPerRevolution=200;                     //pasos para que el motor de una vuelta
const int relePin=10;                           //ACTIVACION DE RELEVADOR
int En= 5;                                      //DECLARACION DE ENTRADA
int pulsador=0;                                 //ALMACENA EL ESTADO DEL BOTON
int estado=0; 
int Fc1=0;                                  //0=SISTEMA APAGADO, 1=SISTEMA ENCENDIDO
int Fc2=0;
int Reversa=0;
int PDE=0;


void setup() 
        {
          pinMode(9, OUTPUT);                   //PULSO
          pinMode(8, OUTPUT);                   //DIRECCION DEL GIRO DE MOTOR
          pinMode(relePin, OUTPUT);             //ACTIVACION DEL RELEVADOR
          pinMode(1, INPUT);                    //ENCENDIDO DEL SISTEMA
          pinMode(En, INPUT);                   //ENCENDIO DE MOTOR
          digitalWrite(En, HIGH);      
          
                  }

void loop() 
{


{
             pulsador=digitalRead(3);              //ARRANQUE DE RUTINA EN PIN 3 PARA EL BOTON
              if (pulsador!=1)

              {

                 
              Fc2=digitalRead(7);              //ARRANQUE DE RUTINA EN PIN 3 PARA EL BOTON
              if (Fc2!=1)
              {

          for( int i=0; i<18 ; i++)                         // AVANCE DEL MOTOR EN PASOS
          { 
           digitalWrite(8, HIGH);
           delayMicroseconds(10);                 


           for(int a=0; a<1450; a++)                // AVANCE LINEAL DEL MOTOR(NUNERO DE PAROS)

           { 
                digitalWrite(9,HIGH);                    // VELOCIDAD DEL MOTOR Y SU SENTIDO
                delayMicroseconds(150);
                digitalWrite(9,LOW);
                delayMicroseconds(150);
           }

              delay(500);                               // TIEMPO DE ESPERA ENTRE LA ACTIVACION DEL RELE DEPUES DEL PARO DEL MOTOR
                 
                  {
                     digitalWrite(relePin,HIGH);       // ENCEDIDO DEL RELE QUE ACTUA LA electrovalvula
                     delay(700);
                     digitalWrite(relePin,LOW);
                  }
            
                             delay(800);               // TIEMPO DE ESPERA, PARA INICIAR LA RUTINA RETROCESO DEL SISTEMA
           }

              }
              
            }
           {
              Fc1=digitalRead(6);              //ARRANQUE DE RUTINA EN PIN 3 PARA EL BOTON
              if(Fc1!=1)
              {

            digitalWrite(8, LOW);
            delayMicroseconds(10);



            for(int z=0; z<26100; z++)                  // PASOS DE RETROCESO DEL MOTOR PARA QUE REGRESE A SU POSICION INICIAL

           { 
                digitalWrite(9,HIGH);
                delayMicroseconds(120);
                digitalWrite(9, LOW);
                delayMicroseconds(120);
           }
              }
           

                           delay(2000);                 // TIEMPO DE ESPERA PARA QUE EL SISTEMA VUELVA A REPETIR LA RUTINA



              }
}


{
   Reversa=digitalRead(4);              //ARRANQUE DE RUTINA EN PIN 3 PARA EL BOTON
              if (Reversa!=1)

              {
                 Fc1=digitalRead(6);              //ARRANQUE DE RUTINA EN PIN 3 PARA EL BOTON
              if (Fc1!=0)
              {
        
                 digitalWrite(8, LOW);
                delayMicroseconds(10);

             for(int z=0; z<26100; z++)                  // PASOS DE RETROCESO DEL MOTOR PARA QUE REGRESE A SU POSICION INICIAL

           { 

           { 
                digitalWrite(9,HIGH);
                delayMicroseconds(120);
                digitalWrite(9, LOW);
                delayMicroseconds(120);
                  
           }
          

          

              }
              }
              }


}

Moderador:
Por favor, lee las Normas del foro
Edita tu título, usa uno que no tenga justamente lo que se considera un título inútil.
Ver en las normas (punto 5) como poner títulos adecuados.
Agrega también en el cuerpo del mensaje lo que quieres hacer, no en el título.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.