il ne fonctionne pas
#include <AccelStepper.h>
#define zoomDirPin 2
#define zoomStepPin 3
#define boutonZoomInPin 10
#define boutonZoomOutPin 11
AccelStepper stepperZoom(1, zoomStepPin, zoomDirPin);
void setup() {
pinMode(zoomDirPin, OUTPUT);
pinMode(zoomStepPin, OUTPUT);
pinMode(boutonZoomInPin, INPUT_PULLUP); // L'autre cote du bouton au GND
pinMode(boutonZoomOutPin, INPUT_PULLUP); // " " "
}
void loop() {
if (digitalRead(boutonZoomInPin) == LOW) { // Si le bouton Zoom In est pressed
stepperZoom.setSpeed(100);
} else if (digitalRead(boutonZoomOutPin) == LOW) { // Si le bouton Zoom Out est pressed
stepperZoom.setSpeed(-100);
} else {
stepperZoom.setSpeed(0);
}
stepperZoom.runSpeed();// fait tourner le moteur à la vitesse réglée.
}
peut etre la tu fais exprès , mais j'ais rajouter ca
void loop() {
stepperZoom.setMaxSpeed(2000);
Je pense que tu as une erreur sur le câblage que tu penses avoir fait.
Pour la librairie accelStepper le 1 sert à indiquer que tu utilises un driver qui utilise les broches step et direction. ensuite le premier des deux est censé être le pin step et le suivant le pin direction.
effectivement j'ais inversé le les pins 4 et 5 dans le programme .
ET VOILAAAAAAA.

#include <AccelStepper.h>
#define suiviDirPin 4
#define suiviStepPin 5
#define boutonAccelererPin 6
#define boutonRalentirPin 7
#define boutonMarchePin 8
#define boutonArretPin 9
AccelStepper stepperSuivi(1, suiviStepPin, suiviDirPin);
#define zoomDirPin 2
#define zoomStepPin 3
#define boutonZoomInPin 10
#define boutonZoomOutPin 11
AccelStepper stepperZoom(1, zoomStepPin, zoomDirPin);
void setup() {
pinMode(suiviDirPin, OUTPUT);
pinMode(suiviStepPin, OUTPUT);
pinMode(boutonAccelererPin, INPUT_PULLUP); // L'autre cote du bouton au GND
pinMode(boutonRalentirPin, INPUT_PULLUP); // " " "
pinMode(boutonMarchePin, INPUT_PULLUP); // " " "
pinMode(boutonArretPin, INPUT_PULLUP); // " " "
pinMode(zoomDirPin, OUTPUT);
pinMode(zoomStepPin, OUTPUT);
pinMode(boutonZoomInPin, INPUT_PULLUP); // L'autre cote du bouton au GND
pinMode(boutonZoomOutPin, INPUT_PULLUP); // " " "
}
void loop() {
stepperSuivi.setMaxSpeed(2000);
if (digitalRead(boutonAccelererPin) == LOW) { // Si le bouton Accelerer est pressed
stepperSuivi.setSpeed(1000);
} else if (digitalRead(boutonRalentirPin) == LOW) { // Si le bouton Ralentir est pressed
stepperSuivi.setSpeed(500);
} else if (digitalRead(boutonMarchePin) == LOW) { // Si le bouton Marche est pressed
stepperSuivi.setSpeed(700);
} else if (digitalRead(boutonArretPin) == LOW) { // Si le bouton Arret est pressed
stepperSuivi.setSpeed(0);
} else {
}
stepperSuivi.runSpeed(); // fait tourner le moteur a vitesse réglée
stepperZoom.setMaxSpeed(2000);
if (digitalRead(boutonZoomInPin) == LOW) { // Si le bouton Zoom In est pressed
stepperZoom.setSpeed(1000);
} else if (digitalRead(boutonZoomOutPin) == LOW) { // Si le bouton Zoom Out est pressed
stepperZoom.setSpeed(-1000);
} else {
stepperZoom.setSpeed(0);
}
stepperZoom.runSpeed();// fait tourner le moteur à la vitesse réglée.
}
je n'ais pas inclut la ligne
stepperSuivi.setSpeed(0);
afin que le moteur ne s'arrete pas quand je relache les boutons
sinon c'est impec a par que le bruit de chaque moteur change quand les deux fonctionnes et que l'un s'arrete
j'ais plus qua régler la vitesse de suivi sur le terrain