#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);
}