#include <Stepper.h>
const int stepsPerRevolution = 200; // Ubah sesuai dengan motor stepper Anda
// Inisialisasi motor stepper dengan jumlah langkah per revolusi dan pin kontrol
Stepper myStepper(stepsPerRevolution, 7, 6); // Pin 2 untuk STEP, Pin 3 untuk DIR
const int buttonPin = 4; // Pin tombol
int buttonState = 0; // Variabel untuk menyimpan status tombol
int lastButtonState = 0; // Variabel untuk menyimpan status tombol sebelumnya
int stepCount = 5; // Jumlah langkah per tombol ditekan
int dir=6;
int en=5;
int pul=7;
void setup() {
pinMode(buttonPin, INPUT); // Set pin tombol sebagai input
myStepper.setSpeed(60); // Set kecepatan motor stepper (RPM)
}
void loop() {
buttonState = digitalRead(buttonPin);
// Check jika tombol ditekan
if (buttonState == HIGH && lastButtonState == LOW) {
// Gerakkan motor stepper 5 langkah
myStepper.step(stepCount);
delay(100); // Debounce delay
}
lastButtonState = buttonState;
}
/*control stepper motor putaran penuh bolak balik */
/*
int en=5, dir=6, pul=7;
int pb1=4, pb2=10;
int laju=200;
int steps=3800;
void setup() {
pinMode(en,OUTPUT);
pinMode(dir,OUTPUT);
pinMode(pul,OUTPUT);
pinMode(pb1,INPUT_PULLUP);
pinMode(pb2,INPUT_PULLUP);
}
void loop() {
if(!digitalRead(pb1)) {
digitalWrite(en,LOW);
digitalWrite(dir,HIGH);
for (int i=0; i<steps; i++){
digitalWrite(pul,HIGH);
delayMicroseconds(laju);
digitalWrite(pul,LOW);
delayMicroseconds(laju);
}
} else if(!digitalRead(pb2)){
digitalWrite(en,LOW);
digitalWrite(dir,LOW);
for (int i=0; i<steps; i++){
digitalWrite(pul,HIGH);
delayMicroseconds(laju);
digitalWrite(pul,LOW);
delayMicroseconds(laju);
}
} else {
digitalWrite(en,HIGH);
}
} */