Bonjours, j'en vient a vous pour vous demander un peu d'aide; j'ai un montage avec arduino (qui fonctionne parfaitement) avec un moteur DC et 2 pas a pas, le problème c'est que malgré que le DC marche, il est plus compliqué a commander avec le code que les pas a pas ! J'ai quand même trouvé mais je me pause quelque questions:
-quel est le code pour stopper le moteur ? car souvent il continue son mouvement même si j'ai mis un delay, et digitalWrite(enablePin, LOW); ne marche pas !
-le HIGH et le LOW sont fait pour envoyer le courant sur le + ou le - du moteur c'est sa ?
-doit-je obligatoirement mettre digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); pour stopper le moteur ?
voici mon code (ne prenez compte que du moteur DC en bas)
Merci !Code:#include <Stepper.h> const int stepsPerRevolution = 245; Stepper Stepper1(stepsPerRevolution, 2,3,4,5); Stepper Stepper2(stepsPerRevolution, 6,7,8,9); int motor1Pin1 = 11; int motor1Pin2 = 12; int enablePin = 10; void setup() { // set all the other pins you're using as outputs: pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT); Stepper1.setSpeed(80); Stepper2.setSpeed(80); Serial.begin(9600); } void loop() { /* Stepper1.step(stepsPerRevolution); delay(500); Stepper2.step(stepsPerRevolution); delay(500); Stepper1.step(-stepsPerRevolution); delay(500); Stepper2.step(-stepsPerRevolution); delay(500); */ digitalWrite(enablePin, HIGH); // Le moteur tourne dans un sens digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH); delay( 700 ); digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); // Le moteur tourne dans l'autre sens digitalWrite(motor1Pin1, HIGH); digitalWrite(motor1Pin2, LOW); delay(110); digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, LOW); while(1){} }
-----