Saltar la navegación

Ejemplos Steppers

Ejemplo 1

un Motor Stepper y un bridge 28BYJ-48
en primer lugar hay que tener la biblioteca AccelStepper.h
en este ejercicio solo tenemos que conectar el motor stepper con la placa arduino, el motor girar constantmente.
Así pues, lo primero que debemos hacer es bajar la libreria AccelStepper.h. Una vez que la tengamos en nuestro ordenador ya no habrá que volverla a bajar, se le podrá llamar directamente.

Código


#include <AccelStepper.h>//se llama la libreria

AccelStepper stepper;

// los pines por defecto de AccelStepper

// IN1 a 2, IN2 a 3, IN3· a 4, IN4 a 5

void setup()

{

stepper.setMaxSpeed(1000);

stepper.setSpeed(10);

//para controlar velocidad

}

void loop()

{

stepper.runSpeed();
}
//en esta practica no se definen los pins, se toma lo que la libreria lleva por defecto

Ejemplo 2

modificar la practica anterior, se pueden cambiar los pines por defecto por los que nosotros queramos

código:

#include <AccelStepper.h>

#define HALFSTEP 8

// definir pines

#define motorPin1 4 // Blue - 28BYJ48 IN1

#define motorPin2 5 // Pink - 28BYJ48 IN2

#define motorPin3 6 // Yellow - 28BYJ48 IN3

#define motorPin4 7 // Orange - 28BYJ48 IN4

AccelStepper stepper (HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup()

{

stepper.setMaxSpeed(1000);

stepper.setSpeed(80); //para controlar velocidad

}

void loop()

{

stepper.runSpeed();

}

Ejemplo 3

Dos motores que giran en una dirección común a una velocidad constante.

Código

#include

#define HALFSTEP 8

// definir pines del primer motor

#define motorPin1 4 // Blue - 28BYJ48 IN1

#define motorPin2 5 // Pink - 28BYJ48 IN2

#define motorPin3 6 // Yellow - 28BYJ48 IN3

#define motorPin4 7 // Orange - 28BYJ48 IN4

// definir pines del segundo motor

#define motorPin5 8

#define motorPin6 9

#define motorPin7 10

#define motorPin8 11

AccelStepper stepper1 (HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

AccelStepper stepper2 (HALFSTEP, motorPin5, motorPin7, motorPin6, motorPin8);

void setup()

{

stepper1.setMaxSpeed(1000);

stepper1.setSpeed(80); //para controlar velocidad

stepper2.setMaxSpeed(1000);

stepper2.setSpeed(80); //para controlar velocidad

}

void loop()

{

stepper1.runSpeed();

stepper2.runSpeed();

}

.......................................

si queremos cambiar la dirección de uno de los motores podemos darle una velocidad negativa

en el siguiente ejemplo el motor 2 girará en sentido contrario del motor 1

void setup()

{

stepper1.setMaxSpeed(1000);

stepper1.setSpeed(80); //para controlar velocidad

stepper2.setMaxSpeed(1000);

stepper2.setSpeed(-80);//para controlar velocidad

}

si queremos cambiar la velocidad de uno de los dos motores solo tendremos que modificar su valor

en el siguiente ejemplo el motor 2 gira mucho más rápido que el motor 1

void setup()

{

stepper1.setMaxSpeed(1000);

stepper1.setSpeed(80); //para controlar velocidad

stepper2.setMaxSpeed(1000);

stepper2.setSpeed(-600); //para controlar velocidad

}