#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
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
scope1:D0
scope1:D1
scope1:D2
scope1:D3
scope1:A3
scope1:A2
scope1:A1
scope1:A0