Saltar la navegación

Paso completo. Máximo potencia de giro. Definición por matriz.

Paso completo. Máximo potencia de giro. Definición por matriz.

//Giro, espera 5 segundos y repite

/* Capitulo 30 de Arduino desde cero en Español.

La secuencia es la de paso completo con dos bobinas para una maximo torque utilizando una matriz para su definicion.

*/

int IN1 = 2; // pin digital 2 de Arduino a IN1 de modulo controlador

int IN2 = 3; // pin digital 3 de Arduino a IN2 de modulo controlador

int IN3 = 4; // pin digital 4 de Arduino a IN3 de modulo controlador

int IN4 = 5; // pin digital 5 de Arduino a IN4 de modulo controlador

int demora = 20; // demora entre pasos, no debe ser menor a 10 ms.

// paso completo con maximo torque

int paso [4][4] = // matriz (array bidimensional) con la secuencia de pasos

{

{1, 1, 0, 0},

{0, 1, 1, 0},

{0, 0, 1, 1},

{1, 0, 0, 1}

};

void setup() {

pinMode(IN1, OUTPUT); // todos los pines como salida

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

}

void loop() {

for (int i = 0; i < 512; i++){ // 512*4 = 2048 pasos

for (int i = 0; i < 4; i++){ // bucle recorre la matriz de a una fila por vez para obtener los valores logicos a aplicar

digitalWrite(IN1, paso[i][0]); // a IN1, IN2, IN3 e IN4

digitalWrite(IN2, paso[i][1]);

digitalWrite(IN3, paso[i][2]);

digitalWrite(IN4, paso[i][3]);

delay(demora);

}

}

digitalWrite(IN1, LOW); // detiene por 5 seg.

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

delay(5000);

}