// Prueba , Driver, Motores de Pasos y ESP32
//
#define x_paso 15 // Define el Pin de STEP para Motor de eje X
#define x_dire 2 // Define el Pin de DIR para Motor de eje X
#define x_habi 4 // Define el Pin de ENABLE para Motor de eje X
int retardo = 3000; // Menor numero el giro es mas rapido
int tiempo = 220; // durante cuanto timpo da el giro el motor (vueltas)
void setup() {
pinMode(x_paso, OUTPUT); pinMode(x_dire, OUTPUT); pinMode(x_habi, OUTPUT);
}
void loop() {
giro(x_paso,x_dire,x_habi,1);
delay(500);
giro(x_paso,x_dire,x_habi,0);
delay(500);
}
void giro(int paso_,int dire_,int habi_,int dir) {
digitalWrite(habi_, LOW); // Habilita el Driver
if( dir==0){
digitalWrite(dire_, LOW); // direccion de giro 0
for(int i=0;i<tiempo;i++){ // da pasos por un tiempo
digitalWrite(paso_, HIGH);
delayMicroseconds(retardo);
digitalWrite(paso_, LOW);
delayMicroseconds(retardo);
}
}
if( dir==1){
digitalWrite(dire_, HIGH); // direccion de giro 1
for(int i=0;i<tiempo;i++){ // da pasos por un tiempo
digitalWrite(paso_, HIGH);
delayMicroseconds(retardo);
digitalWrite(paso_, LOW);
delayMicroseconds(retardo);
}
}
digitalWrite(habi_, HIGH); // quita la habilitacion del Driver
}