#include <AccelStepper.h>
// Broches de contrôle du moteur
#define motorPin1 8
#define motorPin2 9
#define motorPin3 10
#define motorPin4 11
// Broche du potentiomètre
#define potPin A0
// Créer un objet AccelStepper
AccelStepper stepper(AccelStepper::FULL4WIRE, motorPin1, motorPin2, motorPin3, motorPin4);
void setup() {
// Vitesse maximale et accélération du moteur
stepper.setMaxSpeed(500);
stepper.setAcceleration(100);
Serial.begin(115200);
}
void loop() {
// Lire la valeur du potentiomètre
int potValue = analogRead(potPin);
float motorSpeed = 0; // Initialiser la vitesse à 0
// Déterminer la vitesse en fonction de la valeur du potentiomètre
if (potValue < 440) {
motorSpeed = -200; // Faire tourner dans le sens inverse avec une vitesse négative
} else if (potValue > 600) {
motorSpeed = 200; // Faire tourner dans le sens normal avec une vitesse positive
}
// Convertir la valeur lue en une vitesse pour le moteur
Serial.println(motorSpeed);
// Définir la vitesse du moteur
stepper.setSpeed(motorSpeed);
// Faire avancer le moteur d'une étape
stepper.runSpeed();
}