Bonjour je suis bloquer sur la programmation de mon driver, mon câblage est bon le moteur tourne bien mais même quand je ne connecte pas l'Arduino il fait fait deux tour dans un sens puis dans, l'autre. Et cela continu même quand je branche l'Arduino seule EN fonctionne et permet d'arrêter le moteur sinon le moteur continu de faire ses tours. Moon code que j'ai fait demande juste que quand j'appui sur le bouton le moteur tourne dans un seul sens et ce qui ne marche donc pas vu que quand j'appui sur le bouton il continu a faire ses aller retour. Pour ce qui est du branchement j'ai le com+ sur le 5v Arduino, STEP sur le STEP (2) et DIR sur le DIR (3) EN (4)
Voici mon code en esperanto que qlqn puisse m'aider.
#include <AccelStepper.h>
// Configuration des broches de contrôle du driver TB6600
#define stepPin 2
#define enablePin 4
#define dirPin 3
// Configuration du bouton poussoir
#define buttonPin 7
// Configuration de la vitesse et de l'accélération du moteur
#define motorSpeed 1000
#define motorAcceleration 1000
// Création d'un objet AccelStepper pour contrôler le moteur
AccelStepper stepper(1, stepPin, dirPin);
void setup() {
// Configuration des broches de contrôle du moteur
pinMode(stepPin, OUTPUT);
pinMode(enablePin, OUTPUT);
pinMode(dirPin, OUTPUT);
// Configuration du bouton poussoir
pinMode(buttonPin, INPUT_PULLUP);
// Désactivation du moteur au démarrage
digitalWrite(enablePin, HIGH);
// Configuration des paramètres du moteur
stepper.setMaxSpeed(motorSpeed);
stepper.setAcceleration(motorAcceleration);
}
void loop() {
// Lecture de l'état du bouton poussoir
int buttonState = digitalRead(buttonPin);
// Si le bouton est enfoncé, on active le moteur dans le sens horaire
if (buttonState == LOW) {
digitalWrite(enablePin, LOW); // Activation du driver
stepper.setPinsInverted(false, false, true); // Sens horaire
stepper.setSpeed(motorSpeed); // Vitesse constante
stepper.runSpeed(); // Démarrage du mouvement
}
else { // Si le bouton est relâché, on arrête le moteur et on le freine
stepper.stop(); // Arrêt du mouvement
stepper.setSpeed(0); // Vitesse nulle pour freiner
digitalWrite(enablePin, HIGH); // Désactivation du driver
}
}