50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
#define pasos 2000
|
|
#define tiempo_paso 1000
|
|
#define tiempo_entre_giro 1000
|
|
|
|
#define enable 4
|
|
#define step 5
|
|
#define dir 6
|
|
void setup() {
|
|
pinMode(enable,OUTPUT); // Enable
|
|
pinMode(step,OUTPUT); // Step
|
|
pinMode(dir,OUTPUT); // Dir
|
|
digitalWrite(enable,LOW); // Set Enable low
|
|
}
|
|
|
|
void giro_derecha(int paso)
|
|
{
|
|
digitalWrite(dir,HIGH); // Set Dir high
|
|
for(int x = 0; x < paso; x++) // Loop 200 times
|
|
{
|
|
digitalWrite(step,HIGH); // Output high
|
|
delayMicroseconds(tiempo_paso); // Wait 1/2 a ms
|
|
digitalWrite(step,LOW); // Output low
|
|
delayMicroseconds(tiempo_paso); // Wait 1/2 a ms
|
|
}
|
|
}
|
|
|
|
void giro_izquierda(int paso)
|
|
{
|
|
digitalWrite(dir,LOW); // Set Dir low
|
|
for(int x = 0; x < paso; x++) // Loop 2000 times
|
|
{
|
|
digitalWrite(step,HIGH); // Output high
|
|
delayMicroseconds(tiempo_paso); // Wait 1/2 a ms
|
|
digitalWrite(step,LOW); // Output low
|
|
delayMicroseconds(tiempo_paso); // Wait 1/2 a ms
|
|
}
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
giro_derecha(pasos);
|
|
// delay(tiempo_entre_giro); // pause one second
|
|
// giro_izquierda(pasos);
|
|
// delay(tiempo_entre_giro); // pause one second
|
|
// giro_derecha(pasos/2);
|
|
// delay(tiempo_entre_giro/2); // pause one second
|
|
// giro_izquierda(pasos/2);
|
|
// delay(tiempo_entre_giro/2); // pause one second
|
|
}
|