// Konfigurasi Pin
const int stepPin = 3; // Pin untuk STEP
const int dirPin = 4; // Pin untuk DIRECTION
// Jumlah langkah per putaran
const int stepsPerRevolution = 200; // 200 steps per revolution (umumnya untuk stepper motor 1.8 degree)
// Jarak yang ingin ditempuh
const float jarak_cm = 10.0; // 10 cm
const float cm_per_revolution = 1.0; // Asumsi 1 putaran penuh = 1 cm
void setup() {
// Atur pin sebagai output
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
// Set direction CW (searah jarum jam)
digitalWrite(dirPin, HIGH);
}
void loop() {
// Hitung jumlah langkah yang diperlukan
int stepsToMove = (jarak_cm / cm_per_revolution) * stepsPerRevolution;
// Jalankan motor
for (int i = 0; i < stepsToMove; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(500); // Delay sesuai kecepatan motor
digitalWrite(stepPin, LOW);
delayMicroseconds(500); // Delay sesuai kecepatan motor
}
// Motor berhenti setelah mencapai jarak
while(1); // Berhenti di sini
}