#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
#define FINAL_DE_CARRERA 13
int retardo = 3000; // Menor numero el giro es mas rapido
int tiempo = 100; // 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(1000);
giro(x_paso, x_dire, x_habi, 0);
delay(1000);
int final_de_carrera = digitalRead(FINAL_DE_CARRERA);
// Verificar si el final de carrera está activado
if (final_de_carrera == LOW) {
// Detener el motor
digitalWrite(x_paso, LOW);
return; // Salir de la función loop()
}
// Si el final de carrera no está activado, continuar con el movimiento del motor
digitalWrite( x_dire ,HIGH); // Establecer la dirección del motor en sentido horario
// Generar un pulso de paso
digitalWrite( x_paso,HIGH);
delay(1); // Retardo de 10 milisegundos
digitalWrite(x_paso, LOW);
delay(2); // Retardo de 10 milisegundos
}
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
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
drv1:ENABLE
drv1:MS1
drv1:MS2
drv1:MS3
drv1:RESET
drv1:SLEEP
drv1:STEP
drv1:DIR
drv1:GND.1
drv1:VDD
drv1:1B
drv1:1A
drv1:2A
drv1:2B
drv1:GND.2
drv1:VMOT
stepper1:A-
stepper1:A+
stepper1:B+
stepper1:B-
led1:A
led1:C
r1:1
r1:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r