const int DIR = 12;
const int STEP = 14;
const int steps_per_rev = 90; //Merupakan banyaknya step yang dilakukan dalam satu arah eksekusi putaran. Untuk putaran satu kali rotasi maka harus diset 200
void setup()
{
Serial.begin(115200);
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
}
void loop()
{
digitalWrite(DIR, HIGH);
// Ketika DIR bernilai HIGH maka arah putar searah jarum jam
Serial.println("Putaran Searah Jarum Jam");
for(int i = 0; i<steps_per_rev; i++)
{
digitalWrite(STEP, HIGH);
delayMicroseconds(1000);
digitalWrite(STEP, LOW);
delayMicroseconds(1000);
}
// Dengan mengubah nilai delay menjadi semakin kecil maka putaran motor akan semakin cepat
delay(1000);//
digitalWrite(DIR, LOW);
Serial.println("Putaran Berlawanan Arah Jarum Jam");
for(int i = 0; i<steps_per_rev; i++)
{
digitalWrite(STEP, HIGH);
delayMicroseconds(3000);
digitalWrite(STEP, LOW);
delayMicroseconds(3000);
}
delay(1000);//
}
//Agar driver A4988 dapat bekerja maka perlu dihubungkan pin RESET dengan pin SLEEP