Paso 4: Modificar el código
/*
Código motor paso a paso BYJ48
Conectar:
In1 >> D8
In2 >> D9
IN3 >> D10
In4 >> D11
VCC... 5V prefieren utilizar external 5V fuente
Toma de tierra
escrito por: Mohannad Rawashdeh
28/09/2013
*/#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
Pasos de int = 0;
Dirección booleano = true; / / gre
last_time largo sin firmar;
currentMillis largo sin firmar;
int steps_left = 4095;
mucho tiempo;
void setup()
{
Serial.Begin(115200);
pinMode (IN1, salida);
pinMode (IN2, salida);
pinMode (IN3, salida);
pinMode (IN4, salida);
Delay(1000);}
void loop()
{
while(steps_left>0) {}
currentMillis = micros();
Si (currentMillis-last_time > = 1000) {}
stepper(1);
tiempo = tiempo + micros ()-last_time;
last_time=micros();
steps_left--;
}
}
Serial.println(Time);
Serial.println("Wait...!");
Delay(2000);
Dirección =! Dirección;
steps_left = 4095;
}anular el paso a paso (int xw) {}
para (int x = 0; x < xw; x ++) {}
{Switch(STEPS)}
caso 0:
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
digitalWrite (IN4, alto);
rotura;
caso 1:
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
digitalWrite (IN3, alto);
digitalWrite (IN4, alto);
rotura;
caso 2:
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
digitalWrite (IN3, alto);
digitalWrite (IN4, LOW);
rotura;
caso 3:
digitalWrite (IN1, LOW);
digitalWrite (IN2, alto);
digitalWrite (IN3, alto);
digitalWrite (IN4, LOW);
rotura;
caso 4:
digitalWrite (IN1, LOW);
digitalWrite (IN2, alto);
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
rotura;
caso 5:
digitalWrite (1, elevado);
digitalWrite (IN2, alto);
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
rotura;
caso 6:
digitalWrite (1, elevado);
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
rotura;
caso 7:
digitalWrite (1, elevado);
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
digitalWrite (IN4, alto);
rotura;
por defecto:
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
rotura;
}
SetDirection();
}
}
void SetDirection() {}
if(Direction==1) {pasos ++;}
if(Direction==0) {pasos--;}
if(Steps>7) {pasos = 0;}
if(Steps<0) {pasos = 7;}
}