#include <Stepper.h>
const int stepsPerRevolution = 200;
const int potPin = A0; // Pin untuk potensiometer (gunakan A0 untuk ESP32)
Stepper myStepper(stepsPerRevolution, 9, 10, 11, 12); // Inisialisasi library stepper
int lastSteps = 0;
void setup() {
Serial.begin(9600);
myStepper.setSpeed(60);
}
void loop() {
int potValue = analogRead(potPin);
int targetSteps;
if (potValue <= 512){
targetSteps = map(potValue, 0, 511, -stepsPerRevolution/2, 0);
}
else{
targetSteps = map(potValue, 513, 1023, 0, stepsPerRevolution/2);
}
int stepsToMove = targetSteps - lastSteps;\
if (stepsToMove != 0){
myStepper.step(stepsToMove); // Langkah motor
lastSteps = targetSteps;
}
Serial.print("Pot");
Serial.print(potValue);
Serial.print(" | steps: ");
Serial.println(targetSteps);
delay(15); // Delay untuk memberikan waktu sebelum pembacaan selanjutnya
}