// 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
  }
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
A4988
drv1:ENABLE
drv1:MS1
drv1:MS2
drv1:MS3
drv1:RESET
drv1:SLEEP
drv1:STEP
drv1:DIR
drv1:GND.1
drv1:VDD
drv1:1B
drv1:1A
drv1:2A
drv1:2B
drv1:GND.2
drv1:VMOT
stepper1:A-
stepper1:A+
stepper1:B+
stepper1:B-
vcc1:VCC
gnd1:GND
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r