Volver a inicio motor paso a paso

Hola necesitaria una mano si alguien es tan amable.
Tengo un motor paso a paso, con u arduino uno y un driver TB6600, tengo un codigo que con un pulsador avanza cierta cantidad de pasos y con otro pulsador vuelve cierta cantidad de pasos.
Lo que necesito es luego de avanzar cierta cantidad de paso pulsando muchas veces el pulsador con el otro pulsador vuelva al inicio de una sola vez, dejo el codigo debajo.

// defines pins numbers

const int dirPin  = 3;

const int stepPin = 4;

const int enPin   = 5;



const int switchOne     = 8;

const int switchTwo     = 9;



int p1buttonState = 0;         // current state of the button

int lastp1buttonState = 0;     // previous state of the button



int p2buttonState = 0;         // current state of the button

int lastp2buttonState = 0;     // previous state of the button

bool bPress = false;



bool isForward = false;

bool isBackward = false;



void setup() {



  Serial.begin(9600);

  pinMode( switchOne, INPUT_PULLUP);

  pinMode( switchTwo, INPUT_PULLUP);



  // Sets the two pins as Outputs

  pinMode(stepPin,OUTPUT);

  pinMode(dirPin,OUTPUT);



  pinMode(enPin,OUTPUT);

  digitalWrite(enPin,LOW);



}

void loop() {



   isForward = false;

   isBackward = false;



   p1buttonState = digitalRead(switchOne);

   p2buttonState = digitalRead(switchTwo);



  if (p1ButtonPress()) {



    digitalWrite(dirPin,HIGH);



    delay(5);

  }



    if (p2ButtonPress()) {



      digitalWrite(dirPin,LOW);



      delay(5);

    }



    if( isForward || isBackward ){



      for(int x = 0; x < 800; x++) {

        digitalWrite(stepPin,HIGH);

        delayMicroseconds(500);

        digitalWrite(stepPin,LOW);

        delayMicroseconds(500);

      }

    }



}

Hola, no entiendo mucho esto.

p1ButtonPress() y p2ButtonPress() no existen.
isForward || isBackward no tienen cambios.

No hay dudas. El código está; incompleto, mal tabulado y espaciado y en inglés ¿Esto es a base de Control + C y Control + V?

Buscas un tutorial con google -> TB6600

Buscas en el foro o internet cómo usar un pulsador con debounce.
Una pista, no te va a servir el uso de delay() ni delayMicroseconds cuando empieces a usar pulsadores y motores. delay() interrumpirá las acciones lo que no es muy aconsejable si quieres esos motores para algo con cierta precisión.

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