AFMotor MotorShield library 1.0.1
Le cavalier 5V doit être positionné pour permettre l'alimentation de la carte Arduino. (12V max)
#include <AFMotor.h>
#define nbPas 400
/*
motor.setSpeed(vitesse) pour regler la vitesse
motor.step(nombre de pas, direction, algorithme) pour tourner d un nombre de pas dans un sens ou dans l autre
*/
AF_Stepper motor_X(400, 1); // Moteur 1 400 pas par tour
AF_Stepper motor_Y(400, 2); // Moteur 2 400 pas par tour
void setup() {
motor_X.setSpeed(10); // Speed entre 0 et 255
motor_X.release();
motor_Y.setSpeed(10); // Speed entre 0 et 255
motor_Y.release();
delay(1000);
Serial.begin(9600);
delay(1000);
Serial.println("Hello PaP !");
Serial.println("TEST MOTEUR 1");
testMotor(1);
Serial.println("TEST MOTEUR 2");
testMotor(2);
Serial.println("FIN DE TEST");
}
void loop() {
}
void testMotor(int motor) {
switch(motor) {
case 1:
motor_X.setSpeed(100);
Serial.println("- 1 tour avance SINGLE");
motor_X.step(nbPas, FORWARD, SINGLE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour arriere SINGLE");
motor_X.step(nbPas, BACKWARD, SINGLE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour avance DOUBLE");
motor_X.step(nbPas, FORWARD, DOUBLE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour arriere DOUBLE");
motor_X.step(nbPas, BACKWARD, DOUBLE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour avance INTERLEAVE");
motor_X.step(nbPas, FORWARD, INTERLEAVE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour arriere INTERLEAVE");
motor_X.step(nbPas, BACKWARD, INTERLEAVE);
motor_X.release();
delay(1000);
Serial.println("- 1 tour avance MICROSTEP");
motor_X.step(nbPas, FORWARD, MICROSTEP);
motor_X.release();
delay(1000);
Serial.println("- 1 tour arriere MICROSTEP");
motor_X.step(nbPas, BACKWARD, MICROSTEP);
motor_X.release();
delay(1000);
break;
case 2:
motor_Y.setSpeed(100);
Serial.println("- 1 tour avance SINGLE");
motor_Y.step(nbPas, FORWARD, SINGLE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour arriere SINGLE");
motor_Y.step(nbPas, BACKWARD, SINGLE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour avance DOUBLE");
motor_Y.step(nbPas, FORWARD, DOUBLE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour arriere DOUBLE");
motor_Y.step(nbPas, BACKWARD, DOUBLE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour avance INTERLEAVE");
motor_Y.step(nbPas, FORWARD, INTERLEAVE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour arriere INTERLEAVE");
motor_Y.step(nbPas, BACKWARD, INTERLEAVE);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour avance MICROSTEP");
motor_Y.step(nbPas, FORWARD, MICROSTEP);
motor_Y.release();
delay(1000);
Serial.println("- 1 tour arriere MICROSTEP");
motor_Y.step(nbPas, BACKWARD, MICROSTEP);
motor_Y.release();
delay(1000);
break;
default:
Serial.println(" /!\\ moteur inconnu /!\\");
}
}