Paso 3: Código paso a paso.
Este código es sólo una prueba y le paso el motor hacia adelante y hacia atrás para probar la electrónica. Ire subiendo el código real más adelante.
Tenga en cuenta que la dirección de paso de entrada no funcionan con este código.
Esta es una prueba del controlador. Tenga en cuenta que si cambias pernos, debe también
cambiar en el código real. NUNCA cambiar un pin a pin 2,
como pin es necesario para incrementar la distancia deseada para moverse
stepporty de bytes;
flotador val = 15; inverso de la velocidad, menor valor significa más rápido movimiento.
x corto;
db bytes = 4;
da de byte = 3;
byte pb = 1;
pa de byte = 0;
byte en = 5; //not aquí
void setup() {}
pinMode (db, salida);
pinMode (da, salida);
pinMode (pb, salida);
pinMode (pa, salida);
pinMode (in, INPUT);
}
void loop() {}
para (int x = 0; x < 408; x ++) {//steps 408 semitonos, o una completa rotación en los motores de paso rev 200 (como la mayoría de los motores NEMA)
FWD();
Delay(Val);
}
Delay(200);
para (x = 0; x < 408; x ++) {}
Back();
Delay(Val);
}
Delay(200);
}
void fwd() {}
interruptor (stepporty) {}
caso 0:
One();
stepporty = 1;
rotura;
caso 1:
OneHalf();
stepporty = 2;
rotura;
caso 2:
Two();
stepporty = 3;
rotura;
caso 3:
twohalf();
stepporty = 4;
rotura;
caso 4:
Three();
stepporty = 5;
rotura;
caso 5:
threehalf();
stepporty = 6;
rotura;
caso 6:
Four();
stepporty = 7;
rotura;
caso 7:
fourhalf();
stepporty = 0;
rotura;
} }
{} void back()
interruptor (stepporty) {}
caso 2:
One();
stepporty = 1;
rotura;
caso 3:
OneHalf();
stepporty = 2;
rotura;
caso 4:
Two();
stepporty = 3;
rotura;
caso 5:
twohalf();
stepporty = 4;
rotura;
caso 6:
Three();
stepporty = 5;
rotura;
caso 7:
threehalf();
stepporty = 6;
rotura;
caso 0:
Four();
stepporty = 7;
rotura;
caso 1:
fourhalf();
stepporty = 0;
rotura;
} }
void fourhalf() {}
digitalWrite (db, HIGH); //4
digitalWrite (da, LOW);
digitalWrite (pb, LOW);
digitalWrite (pa, HIGH);
}
void four() {}
digitalWrite (db, alta);
digitalWrite (da, LOW);
digitalWrite (pb, LOW);
digitalWrite (pa, baja);
}
void threehalf() {}
digitalWrite (db, alta);
digitalWrite (da, alto);
digitalWrite (pb, LOW);
digitalWrite (pa, baja);
}
void three() {}
digitalWrite (db, baja);
digitalWrite (da, alto);
digitalWrite (pb, LOW);
digitalWrite (pa, baja);
}
void twohalf() {}
digitalWrite (db, baja);
digitalWrite (da, alto);
digitalWrite (pb, alto);
digitalWrite (pa, baja);
}
void two() {}
digitalWrite (db, baja);
digitalWrite (da, LOW);
digitalWrite (pb, alto);
digitalWrite (pa, baja);
}
void onehalf() {}
digitalWrite (db, baja);
digitalWrite (da, LOW);
digitalWrite (pb, alto);
digitalWrite (pa, HIGH);
}
void one() {}
digitalWrite (db, baja); //1
digitalWrite (da, LOW);
digitalWrite (pb, LOW);
digitalWrite (pa, HIGH);
}