#define Enable 23
#define Dir 17
#define Step 18
#define MS1 22
#define MS2 21
#define MS3 19
#define step_per_rev 200
#define timestep 5000
#define chave_dir 26
#define btn_step 25
unsigned char ea,ef;
void setup()
{
Serial.begin(115200);
pinMode(Enable, OUTPUT);
pinMode(Dir, OUTPUT);
pinMode(Step, OUTPUT);
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
pinMode(MS3, OUTPUT);
pinMode(btn_step, INPUT);
pinMode(chave_dir, INPUT);
delay(10);
digitalWrite(MS1, LOW);
digitalWrite(MS2, LOW);
digitalWrite(MS3, LOW);
ea = digitalRead(btn_step);
}
void loop()
{
if (digitalRead(chave_dir)){
digitalWrite(Dir, HIGH);
Serial.println("Sentido horario.");
}else{
digitalWrite(Dir, LOW);
Serial.println("Sentido anti-horario.");
}
ef = digitalRead(btn_step);
if ( !ef && ea){
digitalWrite( Step, HIGH);
delayMicroseconds(timestep);
digitalWrite( Step, LOW);
delayMicroseconds(timestep);
}
ea= ef;
}