const int dirPin = 8;
const int stepPin = 9;
const int steps90 = 50; // 90 derajat
const int steps180 = 100; // 180 derajat
void setup() {
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
}
void loop() {
// 2x putar 90 derajat ke kanan
for (int i = 0; i < 2; i++) {
digitalWrite(dirPin, HIGH); // Arah kanan
stepMotor(steps90);
}
// 2x putar 180 derajat ke kiri
for (int i = 0; i < 2; i++) {
digitalWrite(dirPin, LOW); // Arah kiri
stepMotor(steps180);
}
}
// Fungsi untuk memutar motor sejumlah langkah
void stepMotor(int steps) {
for (int i = 0; i < steps; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(20);
digitalWrite(stepPin, LOW);
delay(10);
}
}