#include <Stepper.h>
const int stepsPerRevolution = 200; // Jumlah langkah yang diperlukan untuk satu putaran penuh (360 derajat) pada motor stepper
Stepper stepper(stepsPerRevolution, 8, 9, 10, 11);
int preValue = 0; // Variabel untuk menyimpan nilai sebelumnya dari potensiometer
void setup() {
Serial.begin(9600); // Memulai komunikasi serial dengan baud rate 9600
stepper.setSpeed(50); // Mengatur kecepatan motor stepper
pinMode(A0, INPUT); // Mengatur pin A0 sebagai input
}
void loop() {
// Membaca nilai dari potensiometer dan memetakan nilai tersebut dari 0-1023 menjadi 0-200 (jumlah langkah stepper)
int value = map(analogRead(A0), 0, 1023, 0, 200);
// Menghitung derajat rotasi dari motor stepper dan menampilkannya di Serial Monitor
Serial.println("Derajat: " + String(abs(map(value, 0, 200, 0, 360))));
// Menggerakkan motor stepper dengan perbedaan antara nilai potensiometer saat ini dan nilai sebelumnya
stepper.step(value - preValue);
preValue = value; // Menyimpan nilai potensiometer saat ini sebagai nilai sebelumnya untuk perbandingan di langkah berikutnya
}