#include <Stepper.h>

#define Sensorpin A0
#define directionPin 8
#define stepPin 9
#define stepsPerRevolution 800 // Nombre de pas par révolution 

Stepper myStepper(stepsPerRevolution, stepPin, directionPin); 

float TARGET = 5.0;                     // Tension à Maintenir
float target1 = TARGET - 0.5;    // Marge d'erreur 1
float target2 = TARGET + 0.5;   // Marge d'erreur 2


void setup() {
  myStepper.setSpeed(400); // Définir la vitesse du moteur 
  pinMode(directionPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  
  // Lecture de la valeur du capteur et conversion en tension
  int value = analogRead(Sensorpin);
  int voltage = map(value, 0, 1024, 0, 2500);
  voltage /= 98; // Conversion correcte de l'échelle de voltage
  Serial.print(voltage);
  Serial.print(" ");
  digitalWrite(stepPin,0);
  delay(10);
   if (voltage < target1) { 
   //myStepper.step(-stepsPerRevolution);
   digitalWrite(directionPin,0);
   digitalWrite(stepPin,1);
   Serial.println("+");
   }
   else if(voltage > target2){ 
    //myStepper.step(stepsPerRevolution);
    digitalWrite(directionPin,1);
    digitalWrite(stepPin,1);
    Serial.println("-");
   }   
   delay(10);
 }
A4988
ScopeBreakout