#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper stepper1(stepsPerRevolution, 2, 3, 4, 5); // Stepper 1 terhubung ke pin 2, 3, 4, 5
Stepper stepper2(stepsPerRevolution, 8, 9, 10, 11); // Stepper 2 terhubung ke pin 8, 9, 10, 11
const int potPin1 = A0; // Potensiometer 1 terhubung ke pin analog A0
const int potPin2 = A1; // Potensiometer 2 terhubung ke pin analog A1
int previousAngle1 = 0;
int previousAngle2 = 0;
void setup() {
// Mengatur kecepatan untuk kedua stepper (sesuaikan jika diperlukan)
stepper1.setSpeed(60);
stepper2.setSpeed(60);
// Inisialisasi port serial
Serial.begin(9600);
}
void loop() {
// Membaca nilai dari potensiometer
int potValue1 = analogRead(potPin1);
int potValue2 = analogRead(potPin2);
// Memetakan nilai potensiometer ke sudut (0-360 derajat)
int angle1 = map(potValue1, 0, 1023, 0, 360);
int angle2 = map(potValue2, 0, 1023, 0, 360);
// Menghitung langkah yang harus digerakkan oleh setiap stepper
int stepsToMove1 = map(angle1 - previousAngle1, -360, 360, -stepsPerRevolution, stepsPerRevolution);
int stepsToMove2 = map(angle2 - previousAngle2, -360, 360, -stepsPerRevolution, stepsPerRevolution);
// Menggerakkan stepper jika ada perubahan sudut
if (stepsToMove1 != 0) {
stepper1.step(stepsToMove1);
previousAngle1 = angle1;
Serial.print("Stepper 1 bergerak ke sudut: ");
Serial.println(angle1);
}
if (stepsToMove2 != 0) {
stepper2.step(stepsToMove2);
previousAngle2 = angle2;
Serial.print("Stepper 2 bergerak ke sudut: ");
Serial.println(angle2);
}
delay(100); // Penundaan kecil untuk stabilitas
}