// Pin yang terhubung ke pin STEP dan DIR pada driver A4988
const int stepPin = 3;
const int dirPin = 2;
// Pin yang terhubung ke tombol
const int buttonPin = 4;
// Variabel status motor
bool motorOn = false;
void setup() {
// Set pin-step dan pin-dir sebagai output
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
// Set pin tombol sebagai input
pinMode(buttonPin, INPUT);
// Aktifkan pull-up resistor pada pin tombol
digitalWrite(buttonPin, HIGH);
}
void loop() {
// Baca status tombol
int buttonState = digitalRead(buttonPin);
// Jika tombol ditekan dan motor mati, nyalakan motor
if (buttonState == LOW && !motorOn) {
motorOn = true;
digitalWrite(dirPin, HIGH); // Arah putaran motor (sesuai kebutuhan)
while (buttonState == LOW) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000); // Sesuaikan dengan kecepatan yang diinginkan
digitalWrite(stepPin, LOW);
delayMicroseconds(1000); // Sesuaikan dengan kecepatan yang diinginkan
buttonState = digitalRead(buttonPin);
}
}
// Jika tombol ditekan dan motor menyala, matikan motor
else if (buttonState == LOW && motorOn) {
motorOn = false;
// Tambahkan kode untuk mematikan motor sesuai kebutuhan
}
}