#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);
 }
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
A4988
drv1:ENABLE
drv1:MS1
drv1:MS2
drv1:MS3
drv1:RESET
drv1:SLEEP
drv1:STEP
drv1:DIR
drv1:GND.1
drv1:VDD
drv1:1B
drv1:1A
drv1:2A
drv1:2B
drv1:GND.2
drv1:VMOT
stepper1:A-
stepper1:A+
stepper1:B+
stepper1:B-
pot1:VCC
pot1:SIG
pot1:GND
ScopeBreakout
scope1:D0
scope1:D1
scope1:D2
scope1:D3
scope1:A3
scope1:A2
scope1:A1
scope1:A0